Git:使本地存储库与源保持同步 - 仅在本地合并更改 - 从不推回更改

时间:2012-08-02 00:43:48

标签: git

我的商店有一个愚蠢的设置,其中一个人代码审查和推送,而其他人拉,在本地进行更改,然后将更改发送给一个人进行审核,然后推送。

我们都保留了两个本地分支,“主要”和“工作”(“主要”是静态的,我们在“工作”中工作)。

我需要知道如何执行以下步骤: 1)用原点替换我的“主” 2)将我的更改从“工作”合并到新更新的“主”中 3)将“main”复制回“work”

步骤可以是任何顺序,但我需要完成保持最新和本地工作的基本思路。我一直在阅读文档,但我很害怕犯错误。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:-1)

回答原始问题之前的一件事:查看http://code.google.com/p/gerrit/ 它是一个托管代码审查,简化了很多人可以在主人身上登陆代码,以及谁做评论"工作流程。

回到主题,让我们从一些假设开始:

  • 你的工作副本中有两个分支,主要是'和'工作'
  • '主'跟踪起源/主要,'工作'仅限本地,永远不会被推送到原始服务器
  • 让我们致电评论小组的远程'评论家伙

这是工作流程:

  1. 远程家伙原产地
  2. 每个人都想在git fetch origin
  3. 中提取这些更改
  4. 让我们假设它是快进的,所以你可以合并分支
    • git checkout main
    • git merge origin/main
  5. 有一些替代方案可以获得与2/3相同的结果,但我更喜欢将它们分开,以便我有更多的灵活性,尽管这个假设你最初设置main来跟踪origin / main
    • git checkout main
    • git pull --rebase
  6. 现在更新您的工作分支,这会在新主人之上重播您的更改,让您有机会解决任何冲突
    • git checkout work
    • git rebase -i master
  7. 将您的更改发送给评论人员,为此,您可能已经找到了这一部分。
    • git push review-guy work:my-new-work-as-a-branch