1

我在两台不同的计算机(台式机笔记本电脑)上从事同一个项目。有时我需要在执行某些任务/功能时在它们之间进行转换。

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

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

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

我确实知道如何使用 git rebase -i,并且在同一台计算机上使用过几次都没有问题,因此您的答案不必包含 git rebase/squash 的详细信息。

4

1 回答 1

2

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

当我离开电脑时,我总是这样做

 git push -f

当我到达计算机时,我会

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

只要我总是做同样的事情,我就知道我的最新作品总是在 github 上,我想要的都是 rebase

我一般也设置

git config --global push.default current

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

于 2010-09-28T18:41:48.983 回答