在多台计算机上工作时,如何安全地使用git rebase?

时间:2010-09-28 17:00:02

标签: git workflow squash

我在两台不同的计算机上处​​理同一个项目,桌面笔记本电脑。有时我需要在某个任务/功能的中间进行转换。

所以我想在笔记本电脑上提交,然后将其传输(推/拉)到桌面并继续。然后,当该功能完成时,我想进行一次新的提交,然后用半完成提交来压缩它。

如何在不混淆历史记录的情况下将其拉回/推回笔记本电脑

处理此问题的正确方法是什么?执行此操作后,我还必须能够发布提交。目前我正在直接处理主分支,但如果在一个单独的分支上工作有助于我这样做。

我确实知道如何使用git rebase -i,并且在没有问题的情况下仍然在同一台计算机上使用过几次,所以你的答案不必包含git rebase / squash的细节。

1 个答案:

答案 0 :(得分:2)

我一直这样做并使用以下工作流程,当我不坐在任何给定的计算机上时,使用github作为授权主存储库:

当我离开电脑时,我总是

 git push -f

当我到达计算机时,我做了

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

只要我一直都这样做,我知道我的最新作品总是在github上,而且我会根据我想要的所有内容

我一般也设置

git config --global push.default current

只推送我已经签出的分支,我发现在使用大量强制推送时几乎是强制性的。