Git — одна из самых распространенных систем контроля исходного кода, которая позволяет разработчикам программного обеспечения во всех отраслях,
позволяя нескольким членам команды или коллегам одновременно и параллельно работать над проектами. Это известно как системы контроля версий
которые занимаются управлением вкладом между несколькими распределенными разработчиками.
Так, поскольку многие пользователи одновременно работают из разных мест над одним и тем же файлом, это может закончиться конфликтом слияния. Эта статья объясняет основы слияния в Git
конфликтов, и именно здесь команда Git merge участвует в разрешении конфликта слияния Git.
Я хотел бы показать общие команды git, используемые для разрешения конфликта слияния.
Основные команды Git — это:
git init
git add
git commit
git status
git merge
git push
git pull
git reset
git checkout
git diff
Конфликты в среде Git обычно возникают, когда два человека изменили одни и те же строки в файле, или если один разработчик удалил файл, пока другой его изменял. В этих случаях Git не может автоматически определить, что является правильным.
Поэтому о конфликте становится известно только той команде, которая проводит слияние, остальные члены команды не знают о конфликте.
Git пометит файл как конфликтный и остановит процесс слияния. Затем разработчики должны
разрешить конфликт.
Категории конфликтов слияния
Когда вы думаете о разрешении конфликта слияния, знайте, что есть два этапа, которые происходят в разных точках.
При запуске и во время процесса слияния.
-
Начало процесса слияния:
В этом случае, если в текущем проекте есть изменения в PWD (рабочем каталоге), слияние не начнется.
Таким образом, конфликты происходят из-за незавершенных изменений, которые необходимо стабилизировать с помощью команд Git. -
Во время процесса слияния:
На этом этапе сбой указывает на то, что в процессе слияния возник конфликт между локальной веткой и удаленной веткой.
В этом случае Git разрешает все, что возможно, но есть вещи, которые необходимо разрешить вручную в конфликтующих файлах.
Теперь давайте рассмотрим, как их разрешить.
Как разрешить конфликты слияния в Git?
Вот несколько шагов, необходимых для разрешения конфликтов слияния в Git’е.
-
Откройте конфликтующий файл и внесите необходимые изменения.
-
После редактирования и внесения необходимых изменений в файл, мы можем воспользоваться командой git add. a для размещения нового объединенного содержимого.
-
Последний шаг — это создание нового коммита с помощью команды git commit.
-
Затем Git создаст новый коммит слияния для завершения слияния.
Давайте теперь рассмотрим команды Git, которые, возможно, мы можем использовать для разрешения конфликта.
1. git log --merge
This command helps to populate the list of commits that are causing the conflict.
2. git diff
This helps to identify the differences between the states repositories or files.
3. git checkout
It is used to undo the changes made to the file, or for changing branches.
4. git reset --mixed
It also is used to undo changes to the working directory and current folder
5. git merge --abort
This command helps in exiting the merge process and returning back to the state before the merging began.
6. git reset
It is used at the time of merge conflict to reset the conflicted files to their original state.