2012-04-03 4 views
1

Я побежал git pull origin, и теперь у меня есть некоторые проблемы с объединением моей ветки с мастером.Это правильный способ разрешения конфликтов из git pull/merge?

Вот что я сделал:

  1. совершить все изменения в моей отрасли
  2. мерзавца мастер фотографии
  3. мерзавца мастера тянуть происхождения
  4. мерзавца контроль моего филиал
  5. мастер мерзавца слияния
  6. открыть 'project.pbxproj' и удалить все необходимые маркеры
  7. открыт другой файл конфликта и удалены необходимые маркеры
  8. мерзавец добавить для файлов и мерзавец фиксации

Правильно ли это?

ответ

1

Да, это вполне приемлемый способ разрешения конфликтов слияния. Я просто хочу отметить, что вам не нужен локальный ветвь master - вы можете опустить шаги 2, 4 и 5.

1

UPDATE: Это обновляется благодаря обновленному вопросу ...

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

git push origin master 

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

git pull origin master 

Который вытащил бы из удаленной ветки в вашу текущую ветку.

Я предполагаю, что в шаге (4) вы забыли указать, какую ветку вы проверяете, но давайте предположим, что это newBranch. Вы пытаетесь объединить master INTO newBranch на шаге 5, что также противоположно тому, что вы обычно хотите делать. Как правило, вы объединяете ветви в ведущую ветвь после того, как вы проверите, что функция или изменения, которые вы создали, работают. После того, как вы разрешите какие-либо конфликты из слияния, он будет передан как часть слияния. Затем вы можете перетащить объединенную ведущую ветку с начала на главный.

+0

Я обновляю свои вопросы, пожалуйста, ознакомьтесь с ними. Спасибо за ответ! –

+0

Дело в том, что тяга и толчок неправильны. Сначала это команда, тянуть или нажимать, затем удаленный (в этом случае псевдоним как источник), а затем ref, в данном случае ведущую ветвь. Итак, «git push origin master» и «git pull origin master». И так как это главная ветка, по умолчанию она предназначена для отслеживания своего источника/ведущего, поэтому нужны только «git pull» и «git push». – ralphtheninja

+0

Вы правы. Я обновил свой ответ для правильности. – jmstone617

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