Как разрешить конфликты слияния в репозитории Git
Вот вероятный вариант использования git-merge-conflict сверху:
Вы собираетесь внести git-commands некоторые изменения, но, к git сожалению, вы не в курсе:
git fetch origin
git pull origin master
From ssh://gitosis@example.com:22/projectname
* branch master -> FETCH_HEAD
Updating a030c3a..ee25213
error: Entry 'filename.c' not uptodate. Cannot merge.
Итак, вы git-merge обновляетесь и пытаетесь git снова, но возникает конфликт:
git add filename.c
git commit -m "made some wild and crazy changes"
git pull origin master
From ssh://gitosis@example.com:22/projectname
* branch master -> FETCH_HEAD
Auto-merging filename.c
CONFLICT (content): Merge conflict in filename.c
Automatic merge failed; fix conflicts and then commit the result.
Итак, вы git-merge решили взглянуть на изменения:
git mergetool
Боже git мой, апстрим кое-что изменил, но git-merge просто чтобы использовать git-conflict-resolution мои изменения ... нет ... их merge-conflict-resolution изменения ...
git checkout --ours filename.c
git checkout --theirs filename.c
git add filename.c
git commit -m "using theirs"
А потом попробуем git-commands в последний раз
git pull origin master
From ssh://gitosis@example.com:22/projectname
* branch master -> FETCH_HEAD
Already up-to-date.
Та-да!
git
git-merge
merge-conflict-resolution
git-merge-conflict
Как разрешить конфликты слияния в репозитории Git
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.