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