2016-09-30 2 views
-1

У меня с веткой от dev ветка в feature ветка и сделал некоторые коммиты. Теперь, когда я отправляю запрос на pull для объединения ветки feature в ветку dev, я замечаю на github, что ветвь не может быть объединена автоматически из-за некоторых противоречивых изменений. Что мне нужно сделать, чтобы привести мою ветку feature в состояние «может быть объединено автоматически»?Как привести запрос на перенос в состояние «можно автоматически слить»?

Что я в настоящее время сделать это:

  1. Извлекает dev филиал
  2. Merge feature филиал
  3. Помните строки, которые вызвали конфликт
  4. Извлекает feature филиал
  5. вручную вернуть каждую строку до состояния филиала dev
  6. Зафиксировать и надавить патч

Но это похоже на многие ручные работы. Поэтому я подумал, можно ли это как-то упростить?

UPDATE

ума, что я хотел бы, чтобы мои feature изменений ветви, выделенных из develop филиала (с целью отслеживания которых ветвь введенной регрессии и тестирования каждой новой функции в изоляции с другими функциями). Таким образом, в то время как слияние/перезагрузка dev в feature решит проблему, оно принесет все изменения, сделанные в dev, в feature, и я потеряю изоляцию.

ответ

3

несколько предположений: вы взяли ветку из dev и назвали его feature и вы хотите объединить feature в dev

Вашего филиала feature не объединяемый в dev branch because someone has already made changes to dev`, который не может быть разрешен конфликт на мерзавце автоматически.

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

  1. перебазирования - В этом случае вы будете следовать этим инструкциям ниже
    • проверки dev
    • тека тянуть с удаленного
    • оформление заказа feature
    • git rebase dev - Внутренний номер 1) удаляет все ваши коммиты за пределами последнего совершить где feature и dev были такими же 2) применяет все dev совершает 3) один на один применить все feature фиксаций - и как при возникновении конфликтов, мерзавец предложит для устранения конфликтов.Последний шаг повторяется до тех пор, пока все ваши фиксации не будут успешно применены к feature филиал.
    • Нажмите все изменения в feature отрасли дистанционного
    • Отправить в запросе тяговой :-)

Это тот, который я всегда следовать, и рекомендуется, чтобы вы продолжать принимать тянуть из родительской ветви чтобы избежать конфликтов. Это создает структуру алмаза в истории создания git.

  1. Второе - это слияние, но я использую и нахожу замену намного чище и всегда использую это.
+1

Вариант 2: Вы, вероятно, имеете в виду «merge' dev' в 'feature'», правильно? Это необходимо уточнить. Объединяя 'dev' в' feature', вы можете самостоятельно решать конфликты, а затем объединять 'feature' в' dev' без конфликтов. Но это заставляет историю выглядеть грязной. В идеале вы разрешаете конфликты при объединении 'feature' в' dev'. –

+0

Объединив 'dev' в' feature' (или переустанавливая 'dev' на' feature'), я теряю выделение изменений в ветке 'feature', и этого я пытаюсь избежать. – Dziamid

+0

В git есть функция двоичного поиска, которая помогает идентифицировать фиксацию, которая ввела ошибку. – prabodhprakash

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