Разрешение конфликтов GITHUB
Я новичок в github и начал использовать GITHUB для WINDOWS выбранные частные репозитории и поделился с моими коллегами.
Теперь мы сталкиваемся с проблемой, не уверены, как ее решить. Мы попробовали Google и не использовали.
Я сам и коллега работали над одним и тем же файлом одновременно, он сделал передо мной. Мне нравится знать изменения, которые он сделал, и я хочу объединить его изменения с моим локальным файлом и, наконец, хочу перенести мою версию. Возможно ли с помощью GITHUB использовать GITHUB для окон? Я сделал то же самое раньше с Tortoise SVN
Я открыл командную строку командной оболочки и попробовал что-то вроде
$ git diff
Но он показывает только различия и не советует мне объединять локальные с поэтапной версией.
Ответы
Ответ 1
Если вы нажмете кнопку 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>>>>>>>>>>>>>
Ответ 2
В моем случае только что оказалось, что я проигнорировал синхронизацию предыдущего коммита, прежде чем пытаться синхронизировать следующий.
Не требуется разрешение конфликтов.
Мне также показалось интересным, что все разностные блоки
<<<<<<<<<<<<<<<<<...
...
======================
...
HEAD>>>>>>>>>>>>>>
фактически помещены в ваш исходный код. Просто откройте конфликтный файл в текстовом редакторе и сохраните/удалите нужную ветку.