Как безопасно использовать git rebase при работе на нескольких компьютерах? - PullRequest
1 голос
/ 28 сентября 2010

Я работаю над одним проектом на двух разных компьютерах: настольный компьютер и ноутбук .Иногда мне нужно переключаться между ними, находясь в середине какой-то задачи / функции.

Поэтому я хочу сделать коммит на ноутбуке , а затем перенести его (push / pull) в рабочий стол и продолжить.Затем, когда функция завершена, я хочу сделать новый коммит, а затем раздавить его с половинным коммитом.

Как теперь я могу вытащить / толкнуть его обратно на ноутбук не путая историю?

Как правильно обращаться с этим?После этого я также должен быть в состоянии опубликовать коммиты.В настоящее время я работаю над основной веткой напрямую, но если работа над отдельной веткой помогает, я сделаю это.

Я знаю, как использовать git rebase -i, и использовал его несколько раз, пока ещена том же компьютере без проблем, поэтому ваш ответ не должен включать детали git rebase / squash.

1 Ответ

2 голосов
/ 28 сентября 2010

Я делаю это все время и использую следующий рабочий процесс, используя github в качестве авторского главного хранилища, когда я не сижу за компьютером:

Когда я покидаю компьютер, я всегда do

 git push -f

Когда я прихожу к компьютеру, я делаю

git fetch -v
git reset --hard origin/master # Assuming branchname is master

Пока я всегда делаю одно и то же, я знаю, что моя последняя работа всегда на github, и яперебазировать все, что я хочу

Обычно я также устанавливаю

git config --global push.default current

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

...