Git: объединить удаленные файлы с локальными файлами? - PullRequest
3 голосов
/ 12 января 2012

Я новичок в Git и пытаюсь понять это.

Я клонировал удаленный репозиторий, скажем, ssh: // repo на мой локальный компьютер.После клонирования я отредактировал некоторые файлы, в течение которых также был изменен удаленный репозиторий.

Как я могу обновить свой локальный репозиторий с удаленным, сохраняя оба набора изменений?

Ответы [ 3 ]

4 голосов
/ 12 января 2012

Просто зафиксируйте свои изменения в вашем локальном репозитории с помощью команды

git commit

.Теперь вы никогда не потеряете свои изменения!Затем извлеките новые изменения из удаленного репозитория с помощью команды

git pull

.Эта команда извлекает новые изменения и объединяет их с вашими изменениями.Обычно нет конфликтов.В этом случае вы можете отправить свои изменения в удаленный репозиторий.В противном случае вам нужно разрешить все конфликты, пометить их как разрешенные с помощью команды

git add

(просто используйте подсказки из вывода состояния git) и зафиксировать это слияние с помощью команды

git commit

.

2 голосов
/ 12 января 2012

"git pull" объединит удаленные изменения в вашу локальную копию. Если вы хотите сохранить свои изменения независимо, вы можете переместить изменения в новую ветвь, прежде чем тянуть. Поэтому, если вы еще не зафиксировали свои изменения, вы можете сделать что-то вроде этого:

> git stash #stash the changes
> git branch dev_branch #create a new branch
> git checkout dev_branch #move to the new branch
> git stash apply #paste the changes into the new branch
> git checkout master #switch back to the master branch
> git pull #update the master branch

В конце этого у вас есть одна версия кода, содержащая ваши изменения (dev_branch), и та, которая соответствует удаленному коду (master). Теперь вы можете работать с вашим dev_branch независимо от того, что происходит с удаленным кодом. (Когда вы познакомитесь с git, вы поймете, что это более «мерзкий» способ работы - просто работа в основной ветке и выполнение «git pull» для слияния с удаленными изменениями - это скорее «подрывная» работа ).

0 голосов
/ 12 января 2012

вы можете использовать команду 'git pull', и этот флаг конфликтует слияния, если таковые имеются.Если есть конфликты, разрешите их и сделайте git commit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...