0

我整天都在多个系统上工作。我一直在想办法在两个系统之间共享我当前的工作目录。

该代码作为私人存储库托管在 Github 上。我正在考虑在这样的保管箱中使用裸回购:

    Github
       |
   Dropbox(bare repo)
     /      \
  Desktop   Laptop

我试图避免在我的存储库中有大量虚假签入,以便在两个系统之间共享代码。我对此进行了测试,它似乎可以共享代码,但我认为当我不得不不可避免地从 Dropbox 推送到 github 时,所有签入仍然会堆积在 git 日志中。

所以我的问题:

  1. 在从保管箱裸仓库推送到 github 之前,是否有一种方法可以编辑提交(我正在考虑将一堆提交压缩成一个)?
  2. 我是否应该将工作目录放入 Dropbox(从 gi​​thub 克隆),然后使用那里的代码?
4

1 回答 1

1

完全跳过 Dropbox。相反,在进行中的工作中使用主题分支,然后rebase在准备好合并到master.

工作流程如下所示:

  1. 获得编写功能代码的冲动。使其成为主题分支:git checkout -B <topic> master
  2. 代码离开<topic>。在任何你喜欢的状态下,尽可能多地提交。
  3. 在一天/会话结束时,推送到 github:git push origin <topic>
  4. 跳到另一台机器时,结帐<topic>并跟踪它:git checkout --track origin/<topic>或者git pull origin <topic>如果您已经签出它。
  5. 重复步骤 2-3,直到完成该主题。

当您准备好与masteror合并时production,使用它git rebase -i来提供<topic>一个合乎逻辑的、可调试的、可维护的历史记录。

于 2012-07-11T02:32:44.297 回答