假设我在 github/bitbucket 有一个集中的 git 存储库,我在笔记本电脑或大学的工作站上编写代码。在这两台机器上同步我当前的代码工作副本最轻松的方法是什么,以便我总是可以选择从我离开的地方继续?
我已经阅读了 SO 上的其他线程,它们主要涉及提交新分支和拉/使用 USB 密钥/保管箱。但是由于 Dropbox 可能会破坏 git repo,有没有一种方法可以让我始终无缝地从中断的地方恢复?(两台机器都可以访问互联网)。
这是我能想到的选项,请随时添加。
在集中式 repo 上有一个正在进行中的分支,并在您想要合并时进行 rebase。
优点:
- 吉特
大多数冲突将由 git 自动处理。
缺点:
- 不是自动的。有时您可能会忘记执行此操作,并且无法访问您的最新更改
- 如果许多开发人员都遵循这种做法,分支列表将过于混乱。
对于每个项目,都有一个私有 repo 来同步进行中的工作分支。也许设置 vim 挂钩以自动提交到该分支
优点:
- 吉特
- 公共回购中没有混乱
- 可以在每次保存时设置自动提交和推送,因为它是私有的并且没有人看到它。
缺点:
- 您最终将获得每个项目的一个私人仓库。(如果你有自己的 git 主机可能不是问题)
- 如果您没有互联网并编辑文件,Dropbox 将创建两个副本,您必须手动解决冲突
为每个项目创建一个包,使用 Dropbox 同步包文件夹
优点:
- 可以设置自动提交 wip 分支,dropbox 同步捆绑文件夹。
缺点:
- 如果您没有互联网并编辑文件,请推送到捆绑包,保管箱将创建捆绑包的两个副本,您必须手动解决冲突
在 Dropbox 上存储项目文件夹
优点:
- 在最好的情况下,它是真正无缝的。
- 只要您有互联网,您就可以开始以与您离开时相同的状态开始编辑您的代码。
缺点:
- Dropbox 可能会损坏 git 数据库。
- 如果您没有互联网并编辑文件,Dropbox 将创建两个副本,您必须手动解决冲突
找到一种将多个存储库存储在 bitbucket 上的单个私有存储库中的方法,并具有类似于选项 2 的设置。
我认为这可能是最好的解决方案,有人对我如何做到这一点有建议吗?