Конфликт по изменениям на git - PullRequest
1 голос
/ 13 февраля 2011

Я новичок в git, и он говорит, что одна из его особенностей - все локальное, поэтому вы фиксируете изменения, когда не в сети.

Что произойдет, если вы выйдете из сети, внесете несколько изменений, сделаете коммит и т. ДИ через несколько минут, прежде чем вы вернетесь в Интернет, другой человек вносит изменения, некоторые из которых находятся в том же месте, где вы сделали изменения.Оба не знают, что они сделали одинаковые / похожие изменения.Что происходит, когда изменения передаются на сервер?Какие изменения «вставляются»

Ответы [ 3 ]

4 голосов
/ 13 февраля 2011

Первый, кто отправляет в общий репозиторий, может без проблем отправить свои коммиты. Когда второй человек пытается выдвинуть свои изменения, git обнаруживает конфликт и отклоняет push. Затем второй человек должен сначала вытащить изменения первого человека и объединить их в своем локальном хранилище. После успешного слияния человек 2 затем вносит объединенные изменения в общий репозиторий.

2 голосов
/ 13 февраля 2011

Git довольно умный, он никогда не даст вам толчка, если у вас есть незаполненные изменения.

Что произойдет в этом случае, если вам придётся тянуть, то при этом вытащить git попытается объединить ваши изменения с изменениями на сервере (в то же время это сделал другой парень).

Если он может объединить изменения автоматически, ничего не происходит.Если он недостаточно умен, он даст вам конфликт, который вам нужно разрешить, у git есть очень умный способ выражения конфликтов, и их обычно очень легко исправить.

Здесь у вас есть официальное руководство поисправить конфликты: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#resolving-a-merge

0 голосов
/ 13 февраля 2011

Сначала вносятся сделанные изменения. Затем, когда вы попытаетесь зафиксировать свои изменения, git попытается слить, если git не удастся, фиксация вернет ошибку, и ваши исходные файлы будут отмечены в областях, где были конфликты.- вы увидите каждое из конфликтующих изменений бок о бок.Вы должны пройти через каждый конфликт и выбрать правильное изменение для фиксации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...