Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
devops:git [2021/03/30 18:37]
admin [Почистить репозиторий git]
devops:git [2021/04/20 11:45] (current)
admin [Разрешение всех конфликтов слияния в пользу текущего или входящего состояния]
Line 115: Line 115:
 И наконец можно выполнить commit: И наконец можно выполнить commit:
   git commit -a -m "Branch 'feature' merged to 'develop'"   git commit -a -m "Branch 'feature' merged to 'develop'"
 +  
 +===== Разрешение всех конфликтов слияния в пользу текущего или входящего состояния =====
 +Если при merge возникли конфиликты, то можно одной командой разрешить все конфликты в ту или другую пользу. \\
 +
 +Оставить все конфликтные участки в текущем состоянии:
 +  git checkout --ours .
 +Применить во всех случаях конфликтов входящие изменения:
 +  git checkout --theirs .
 ====== Переключиться на нужный коммит ====== ====== Переключиться на нужный коммит ======
 Находим нужный коммит с помощью  Находим нужный коммит с помощью 
Line 211: Line 219:
   git rm --cached path_to_submodule   git rm --cached path_to_submodule
      
 +====== fatal: refusing to merge unrelated histories ====== 
 +Иногда, после манипуляций с историей коммитов нарушается связность историй веток и при попытке выполнения 
 +  git merge BRANCHNAME 
 +Появляется сообщение вида: 
 +  fatal: refusing to merge unrelated histories 
 +В этом случае - если нам нужно заменить содержимое одной ветки, содержимым другой, то в ветке куда делаем merge выполняем: 
 +  git pull origin BRANCHNAME -X theirs --allow-unrelated-histories 
 +То есть - подтягиваем в текущую ветку все изменения из ветки репозитория **BRANCHNAME**, разрешаем нарушение истории коммитов (**--allow-unrelated-histories**) и автоматически разрешаем все конфликты в пользу применения входящих изменений (**-X theirs**)
  • devops/git.txt
  • Last modified: 2021/04/20 11:45
  • by admin