2

Это вопрос о лучшей практике. Это, вероятно, просто, но я все еще довольно новичок с Git, и я хотел бы получить хорошие привычки для вещей, которые я часто делаю.

Ситуация следующая. У меня есть два компьютера CompA и CompB и удаленный репозиторий (на Bitbucket). Допустим, я работаю над уникальной веткой.

Мне нужно сделать большие изменения в файле. Я начинаю с Компьютера A, но у меня нет времени, чтобы закончить, и мне нужно будет продолжить работу на Компьютере B. Я хотел бы сделать доступными для Компьютера B изменения, уже внесенные на Компьютере A.

Обычно я делаю это, фиксируя изменения, как они есть, отправляя их в удаленное хранилище, а затем вытягивая их на компьютер B. Однако это создает коммит, который не является полным самодостаточным набором изменений.

Если возможно, я хотел бы иметь только один коммит с окончательным набором изменений. По крайней мере, в удаленном репо, если возможно, также в локальных репо компьютеров A и B.

Какой самый чистый способ сделать это?

1 ответ1

1

Большие изменения, вероятно, лучше всего сделать в отдельной ветке, так как в Git это очень легко создать. Зафиксируйте столько, сколько хотите, нажмите на ветку BitBucket, перетащите ее на компьютер B ... Вы можете использовать git rebase --interactive чтобы объединить коммиты перед тем, как объединить их с главной веткой.

[master] $ git checkout -b fixXYZ
[fixXYZ] $ hack hack hack
[fixXYZ] $ git commit -m "Fixed some part"
[fixXYZ] $ hack hack
[fixXYZ] $ git commit -m "Fixed another part"
[fixXYZ] $ git push -u origin fixXYZ

Позже, в любое время до слияния с мастером:

[master] $ git checkout fixsomething
[fixXYZ] $ git rebase -i master

(Хотя нет необходимости объединять все в один коммит - иногда легче прочитать журнал нескольких небольших коммитов.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .