我已经在SO和其他地方看到过不建议在Google云端硬盘上使用Git Repo。但是,我可以将Git仓库(托管在GitHub或Bitbucket上)克隆到Google云端硬盘,还是会遇到同样的问题?
我的方案与使用多台计算机有关。假设我已经在工作中检查了计算机1的回购并且正在处理功能A,但在我完成功能A之前,我需要离开工作。现在,我不想将我的更改推送到远程仓库,因为它还没有完成,但我想在计算机2(在家里)上工作。如果克隆位于Google云端硬盘中,我可以选择上次停止的位置,并在功能A完成时进行推送。
或者Google云端硬盘上的克隆是否与Google云端硬盘上的回购相同?
编辑:我应该说,我喜欢在Google云端硬盘中使用克隆的另一件事是我只有一个工作克隆,因此在计算机之间切换时我不需要担心推拉。
答案 0 :(得分:3)
你说:
现在,我不想将我的更改推送到远程仓库,因为它还没有完成,但我想在计算机2(在家里)上工作。
这个问题有很多解决方案,不会像使用谷歌硬盘作为Git回购那样具有异国情调。
一种选择是简单地将未完成的工作提交并推送到常规Git存储库(例如GitHub,Bitbucket)。然后,在家中拉出该分支,完成该功能,并修改HEAD提交:
git commit ---amend 'finished the feature at home'
git push --force origin yourBranch
请注意,强制推动是必要的,因为我们已经重写了分支的历史记录。
但是如果有问题的分支是公开共享的话,这个选项可能不会那么好。在这种情况下,您的临时提交可能会被其他人的工作所掩盖。解决这个问题的方法是创建一个包含未完成工作的第二个分支。然后,在家中拉出第二个分支,完成工作,然后通过合并或变换将其带入主分支。
Git的一个优点是它能够在分布式环境中良好运行。你应该试着看看Git已经为你开箱即用了什么。