Избегайте перезаписи при одновременной отправке, Git (SourceTree)

Мы 2 разработчика, которые хотят сотрудничать в некоторых из наших небольших проектов, для этого мы используем Git.

Мы используем клиент под названием SourceTree, который заменяет необходимость использования команд для Git.

Вопрос: что произойдет, если мы запушим наши изменения одновременно? Мы хотели бы избежать перезаписи изменений друг друга, если это возможно.

Спасибо за прочтение и, надеюсь, сможете ответить на мой вопрос.


person VirtusB    schedule 03.11.2016    source источник
comment
В git из командной строки, если вы не нажмете --force, вы не сможете перезаписать изменения в удаленном репозитории. Я не использую SourceTree, но я думаю, что это то же самое.   -  person Ajedi32    schedule 03.11.2016
comment
Git довольно хорошо справляется с конфликтами, если вы оба изменили одну и ту же строку кода, у вас возникнут конфликты слияния, которые должны быть разрешены вручную вами или вашим вторым разработчиком, без --force ничто не будет автоматически перезаписано Git.   -  person naththedeveloper    schedule 03.11.2016
comment
есть подробное объяснение этого в другом вопросе SO, stackoverflow.com/questions/4643998/   -  person root    schedule 03.11.2016


Ответы (1)


По умолчанию вы не будете перезаписывать код другого разработчика при отправке одновременно, если вы не используете опцию --force.

Поскольку вы используете SourceTree, опция --force по умолчанию отключена. Вы можете включить его, отметив: Общие > Разрешить принудительное нажатие (не рекомендуется для вас)

Еще одна вещь, которую нужно сделать, чтобы избежать этой ситуации, это всегда git pull перед git push.

person Akram Fares    schedule 03.11.2016