拆分git-repository并稍后合并

时间:2011-08-19 10:49:25

标签: git merge

此时我有一个1.0 - 我的存储库版本。既然已经结束了,我想开始研究1.1。完成后,每个版本都将被推送到服务器。但是,当版本包含错误(例如拼写错误)时,1.0.1。由于我已经开始处理1.1,我无法再编辑1.0

一种解决方案是复制存储库(因此,您获得1.0 1.1),然后1.0中的小错误并推送该版本。但是,当我这样做并且我想要启动1.1时,它仍会包含与1.0之前1.0.1相同的错误。

我正在寻找一个解决方案,我可以拆分(fork?)存储库,添加更改,当它准备就绪时,再将它与主存储库合并:

   /------------------------- 1.1 ------------------------- \
  /                                                          \
 /          /------- 1.0.1 ---------\                         \
/          /                         \                         \
--------- 1.0 (main) -------- 1.0.1 (main) ---------------- 1.1 (main) -------

其中1.1还包含我在1.0.1中修复的错误。

我希望这是可能的。如果是这样,你能否给我完整的git - 我需要使用的命令和终端/命名约定(所以我知道在遇到更多问题时在哪里搜索)。

提前致谢!

3 个答案:

答案 0 :(得分:3)

阅读本文。它说明了你想要完成的事情。

http://nvie.com/posts/a-successful-git-branching-model/

现在,它假设你知道在git中,分支是一个顶级的,频繁的操作。制作分支,将它们合并回其他分支,重命名,删除它们等等很容易。

答案 1 :(得分:2)

您要找的是branch es。

git branch是git存储库中的一个独立树。有关更多信息,请查看文档:{​​{3}}

答案 2 :(得分:1)

另一个好消息来源是这篇文章“Branching Strategies in Git – Overview”(不如当前标准 git-flow 那么复杂)

Extract和git命令示例:

  

对于单个开发人员,您可以使用实验性代码路径:
  您已经了解了如何实现功能并希望开始使用   但是你也需要一些需要同时进行的常规开发(修复,其他功能等)   所以创建一个分支并编写代码:

$ git branch feature_x dev
$ git checkout feature_x
# add/commit... add/commit... add/commit

Feature branch created off dev branch

  

(从dev分支创建的功能分支)

     

如果功能代码有效,则将其合并回开发分支。

$ git checkout dev
$ git merge feature_x

Feature branch merged into dev branch

  

(功能分支合并到dev分支)

     

如果没有,您只需返回dev分支并删除feature_x:

$ git checkout dev
$ git branch -D feature_x

Feature branch left unmerged

  

(功能分支未合并)

     

实际上,你真的不必删除分支。您可以保留它,以防您想轻松返回查看该工作。