wbrapist
@wbrapist
Ты в порядке?

Как работать с одним и тем же фалом в Git?

Здравствуйте.

Начал знакомиться с Git. Залили в корень файлы сайта. Допустим, возьмем тот же index.html.
Как нам его вдвоем редактировать? Т.е. я файл запушил, второй человек должен сделать pull, потом в этот файл добавить свой код и уже дальше отправить в репозиторий на гитхаб? Или есть более нормальные варианты? Как это вообще всё происходит?
  • Вопрос задан
  • 800 просмотров
Решения вопроса 3
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
теоретически над одним файлом работает 1 человек, но если при апдейте вылазит разница в версиях локал/сервер, нормалные ИДЕ показывают окошко с разницей, и дают возможность "слить" файлы в один нормальный, если это не битва "чей код будет главным на сервере", то все кодконфликты решаются при апдейте.
Ответ написан
@holymotion
Да, так. А почему и как лучше оф. документации и собственного осознания никто, как мне кажется, не скажет)
https://git-scm.com/book/ru/v1
Ответ написан
Комментировать
Если несколько человек правят разные фрагменты одного файла, Git сольёт автоматом.
Но сливать (merge-ить) лучше на локальном компе, больше управляемость процессом. Есть практика мержиться всегда с ключом --squash, в нашем случае - только так и делаем.
Важная "мелочь" - делайте для каждого разраба отдельную ветку, и ничего не правьте в master-е. В master делайте только git merge [--squash] из разработческих веток.
Чем чаще вы будете сливаться, тем меньше будет конфликтов. Разрешать конфликты - вполне себе искусство. Кто-то использует для этого специальные тулы. Я делаю это в "блокноте", в том числе как раз для того, чтобы заставить себя же мержиться как можно чаше.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Pazzik
Стандартным git консольным все конфликты при merge разруливаются. Всё что может git сливает сам. А там где разногласия делает пометки в файле типа вот так в твоей ветке вот так в мастере. Дальше руками убираешь пометки, и делаешь как должно быть. Сохраняешь git add . Коммитишь git commit -m "merge commit" и всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы