Здравствуйте, ., Вы писали:
.>Так, это немножко другой сценарий. Если ты не хочешь делать мержи на лаптопе, то на флешке можно завести специальный лаптопный бранч, в который ты будешь пушить только с лаптопа, поэтому конфликты возникать не должны.
Но если понадобится сделать новую ветку feachure_branch, то делать ее придется на обоих компьютерах: laptop_feachure_branch, desctop_feachure_branch. К тому же, у меня есть еще один лаптоп...
То есть, придется иметь дело с декартовым произведением веток и компьютеров.
.> Т.е. на лаптопе делаешь "git push <flash_drive_repo> HEAD:laptop_branch".
То есть, при переносе данных с компа на флешку, мне нужно помнить, какие ветки есть на данном компе, и указать их в параметрах к "git push"
.> Потом на десктопе делаешь "git fetch <flash_drive_repo> laptop_branch && git merge FETCH_HEAD" — ну и резолвишь конфликты|етс. Между fetch и merge можешь сделать "git log HEAD..FETCH_HEAD" и "git log FETCH_HEAD..HEAD", чтобы изучить разницу истории, как я описал выше.
При следующем fetch-е FETCH_HEAD перейдет на новое место, и старый FETCH_HEAD может стать труднодоступным и потеряться.
Поэтому изучать разницу историй и мержить нужно здесь и сейчас, до следующего fetch-а.
.>Интересно, как этот сценарий ты делаешь в hg?
Команда "hg pull" без дополнительных параметров вытягивает из удаленного репозитория все новые коммиты из всех веток. Этой командой я переношу данные с флешки на комп и обратно. Никаких вопросов при этом у Меркуриала не возникает, он просто перетягивает все новое. Если в репе появились новые ветки (именованные, или неименованные), они тоже перетянутся, никаких дополнительных параметров к "hg pull" указывать не нужно.
Историю я изучаю с помощью TortoiseHG Workbench. Там по умолчанию видны все ветки и головы.
Есть команда "hg heads". которая показывает все незакрытые головы. Если какая-то именованная ветка имеет более одной головы, это повод разобраться. Но это не обязательно делать сразу после pull-а. Можно и потом, после следующего pull-а. Можно и на другом компьютере (на десктопе с большим экраном разбирать конфликты гораздо приятнее, чем в поезде на маленьком лаптопе).
Конечно, резолвинг лучше не затягивать. Чем позже, тем сложнее его будет делать. Но, в любом случае, висящие головы никуда не пропадут, и будут все это время мозолить глаза.