此时我有一个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
- 我需要使用的命令和终端/命名约定(所以我知道在遇到更多问题时在哪里搜索)。
提前致谢!
答案 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
(从dev分支创建的功能分支)
如果功能代码有效,则将其合并回开发分支。
$ git checkout dev
$ git merge feature_x
(功能分支合并到dev分支)
如果没有,您只需返回dev分支并删除feature_x:
$ git checkout dev
$ git branch -D feature_x
(功能分支未合并)
实际上,你真的不必删除分支。您可以保留它,以防您想轻松返回查看该工作。