Разрешение конфликтов на GITHUB


Я новичок в github и начал использовать GITHUB для WINDOWS выбрал частные репозитории и поделился ими со своими коллегами.

Теперь мы сталкиваемся с проблемой, не зная, как ее решить. Мы попробовали поискать в google, но ничего не вышло.

Я и мой коллега работали над одним и тем же файлом в одно и то же время, он совершил передо мной. Мне нравится знать, какие изменения он внес, и я хочу объединить его изменения с моим локальным файлом и, наконец, хочу зафиксировать свою версию. Возможно ли это с GITHUB, использующим GITHUB для windows? Я уже делал то же самое с черепахой SVN

Я открыл командную строку shell и попробовал что-то вроде

  $ git diff

Но он показывает только различия и не советовал мне сливать локальную версию с постановочной..

2 16

2 ответа:

Если вы нажмете кнопку sync, вы будете вытаскивать изменения, сделанные вашими друзьями и запущенные в интернете. Если изменения не сливаются чисто, вы будете уведомлены о том, что произошел конфликт. Это добавит строку конфликтов в ваши файлы, где вы должны будете пойти и решить их. После этого вам нужно будет только зафиксировать изменения.

Конфликтующие строки должны появиться в интерфейсе Github для Windows (хотя я не уверен на 100%, на самом деле я предпочитаю разрешать конфликт с помощью команды линия).

В командной строке вы должны ввести команду следующим образом:

git pull
# If merge conflict, you'll be prompt to resolve them, git will list conflicted files
# Open those files in you editor and resolve conflicts. Line will be marked in the files.
# When all is resolved :
git add -A
git commit
# No need to enter a message, git will automatically fill the message with
# merge conflict specific information
git push

В ваших файлах маркер конфликта будет выглядеть примерно так:

<<<<<<<<<<< [sha-1 of the commit]
function() {
==================
function( hey ) {
HEAD>>>>>>>>>>>>>

В моем случае просто оказалось, что я забыл синхронизировать предыдущий коммит, прежде чем пытаться синхронизировать следующий.

Разрешение конфликтов не требуется.

Мне также показалось интересным, что все блоки разности

<<<<<<<<<<<<<<<<<...
...
======================
...
HEAD>>>>>>>>>>>>>>

Фактически помещаются в ваш исходный код. Просто откройте конфликтующий файл в текстовом редакторе и сохраните / удалите нужную ветвь.