所以我打算在房子之间来回移动。我所有的GitHub项目都在我的主桌面PC上,而且我打算再买一台台式电脑作为第二名。我想让我从GitHub克隆的所有本地repos在两台PC之间完全同步,这样当我在第二台PC上转到第二个位置时,我就可以从我停止的地方继续,而不必在第一台PC上提交我的文件,然后才离开,所以我想把我的GitHub repos在我的谷歌驱动器,但我读到这不是一个好主意.
我的另一个解决方案是使用FreeFileSync之类的程序将我电脑上所有的GitHub repos复制到便携式硬盘上,然后将文件镜像到我的第二台PC上,但有没有更好的解决方案来解决我的困境呢?
1条答案
按热度按时间dgsult0t1#
Git是一个分布式版本控制系统;它能解决你的问题。)
首先,always work in branches从不在main上运行,这样可以防止你的推送操作干扰到其他人的工作,总的来说这是个好主意。
当你在一台电脑上完成后,做一个WIP(正在进行的工作)提交。
git commit -a -m wip
。然后推送。当你进入另一台计算机时,拉出你的功能分支。它将提交WIP。继续从你停止的地方工作。当你完成时,推入。
重复。
这确实会在历史记录中留下WIP提交。您可能不关心这些。如果关心,您可以通过修改WIP提交来避免它们;不要进行新的提交,而是将您的工作合并到现有的WIP提交中。
git commit --amend
,必要时重写日志消息,推送您的修改。因为修改一个提交会产生一个新的提交,所以您必须强制推送。如果您使用--force-with-lease:git push --force-with-lease
.我将其别名为git repush
。另一方面,如果你在另一台计算机上
git pull
,你会得到一个错误,因为rebase。你可以通过git pull --rebase
解决这个问题(git pull
是git fetch
+git merge origin/whatever
,git pull --rebase
是git fetch
+git rebase origin/whatever
)。我建议默认情况下rebase pull:pull.rebase=merges
在您的. gitconfig中的位置。