2013-12-13 3 views
0

Предположим, что у меня есть новая ветка feature и ветка master. Я внесла некоторые изменения и отправил их в ветку feature, но затем я проверил master и добавил другие изменения. Что я хочу сделать, так это получить изменения master и применить их к feature. Что мне делать? Объединить с master?git ветвление: разница между `` git merge master`` и `` git pull origin master``

git checkout feature 
git merge master 

Или тянуть изменения с master?

git checkout feature 
git pull origin master 

В чем разница между этими двумя вариантами?

ответ

1

git pull по существу представляет собой комбинацию git fetch и git merge. Таким образом, разница только с использованием git merge заключается в том, что он сначала получит новые версии из удаленного репозитория и , затем выполнит слияние.

Если ваш локальный филиал master обновлен, это не имеет значения, но если оно устарело, git pull будет следить за тем, чтобы вы сменили новейшие изменения в удаленном репозитории.

+0

Что на самом деле произошло в моем репо было то, что я потерял изменения, сделанные в' 'master'' (не в' 'самой master'' отрасли, но и в результат '' feature'') при слиянии с '' feature'', используя первый вариант. Было похоже, что операция слияния решила сохранить версию '' feature'' некоторых немодифицированных файлов вместо того, чтобы получить версию '' master''. – amb

0

Если вы хотите, чтобы получить все содержимое, которое находится там в главной ветви в в этой ветку, то вы можете сделать

git checkout feature 
git merge master 

Если вы просто хотите, чтобы получить фиксации, которые вы сделали в главной ветви, а затем примените их к ветви свойств, тогда вы можете сделать следующее.

Получить совершить идентификатор интереса

git log master 

Затем перейти в эту ветку

git checkout feature 

Затем выберите изменения этого идентификатора фиксации и применить это к художественному отрасли. Это называется cherry-pick «ING в мире git

git cherry-pick <commid_id> 
+0

Это именно то, что я сделал, первые два шага, но изменения не были объединены в '' feature'' ... – amb

+0

Существует высокая вероятность того, что вы не внесли свои изменения в главную ветку. Я использую приведенные выше команды день, и он работает нормально. – user376507

Смежные вопросы