2012-07-11 39 views
0

我整天在多个系统上工作。我一直在试图找出在两个系统之间共享当前工作目录的策略。如何在两个系统上使用同一个github repo?

的代码是在Github上托管的私人回购协议。我想在Dropbox的使用裸回购这样的:

Github 
     | 
    Dropbox(bare repo) 
    / \ 
    Desktop Laptop 

我试图避免吨假签在我的回购只是使代码在两个系统之间共享。我测试了这一点,它似乎工作分享代码,但我认为所有的签到仍然会堆积在git日志中,当我不得不从dropbox推到github时。

所以我的问题:

  1. 会不会有来自Dropbox的裸回购协议Github上推前编辑提交(IM想这样挤压了一堆提交到一个)的方法吗?
  2. 我应该只是把工作目录复制到Dropbox的(克隆从GitHub),然后使用代码从那里?
+0

的可能的复制[从今天早些时候程序员这个问题。(http://programmers.stackexchange.com/questions/156309/working-with-git-on-multiple-machines)你可能会检查出有答案。 – Christopher 2012-07-11 02:24:22

回答

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,直到该主题完成。

当你准备用masterproduction合并,用git rebase -i<topic>逻辑,可调试,维护历史。

+0

完成后是否删除这些主题分支? – 2012-07-11 03:09:05

+0

是的,但我并没有严格遵守它。我通常会花费3-4个周期,然后在'git branch -a'的输出中产生足够的烦恼,然后再对其进行清理。这是个人品味的问题。有几十个分支躺在周围没有性能的后果。 – Christopher 2012-07-11 03:17:26

相关问题