如何合并一个已经发布的代码的分支?
How to Merge a branch with a already released code?
我有一个修补程序需要应用于已发布的代码。我可以到达发布的主控,但是当我尝试合并分支时,GitHub 自动将默认分支更改为主控。我不知道如何从 GitHub UI 开始。有人可以帮忙吗?
我想做什么:
- 我有一个释放
- 我做了一个修补程序,但我现在的主人在发布 Test12 之前遥遥领先。
我只需要将此修补程序添加到 Test12 版本。
首先,您不想将它们添加到 Test12 版本中,您想要创建一个新版本。一旦你发布了代码,你就不应该改变它,因为这会造成一种情况,在这种情况下,你有不同的代码在同一个名字下,这只会造成混乱。如果 Test12 在您发布下一个版本后变得完全无关紧要,并且您不希望人们使用它(完全损坏、安全漏洞等),您可以删除该版本。
从你的文字来看,你似乎只有一个分支,master
。
发布修复程序的快速解决方案可能是:
- 返回与你的版本相匹配的提交并基于它创建一个新分支(它将有一个关联的标签,从你的屏幕截图中似乎被称为“1”)
git checkout -b hotfix-branch 1
- Cherry-pick your hotfix 来自
master
和 git cherry-pick <commit of hotfix>
- 在该分支上创建一个新标签
git tag -a 1.0.1 -m "Hotfix for issue..."
- 从该标签创建新版本。
工作流程说明:
我注意到你的版本只有一个数字。你应该看看 semantic versioning,最常用的 three-decimal 版本系统,它使用每个数字来传达特定的含义,主要是 backwards-compatibility.
如果我的猜测是正确的并且您只有一个分支,您还应该查看 git flow,这是最 commonly-used 的工作流程,可以使发布修补程序等操作变得容易。
我有一个修补程序需要应用于已发布的代码。我可以到达发布的主控,但是当我尝试合并分支时,GitHub 自动将默认分支更改为主控。我不知道如何从 GitHub UI 开始。有人可以帮忙吗?
我想做什么:
- 我有一个释放
- 我做了一个修补程序,但我现在的主人在发布 Test12 之前遥遥领先。 我只需要将此修补程序添加到 Test12 版本。
首先,您不想将它们添加到 Test12 版本中,您想要创建一个新版本。一旦你发布了代码,你就不应该改变它,因为这会造成一种情况,在这种情况下,你有不同的代码在同一个名字下,这只会造成混乱。如果 Test12 在您发布下一个版本后变得完全无关紧要,并且您不希望人们使用它(完全损坏、安全漏洞等),您可以删除该版本。
从你的文字来看,你似乎只有一个分支,master
。
发布修复程序的快速解决方案可能是:
- 返回与你的版本相匹配的提交并基于它创建一个新分支(它将有一个关联的标签,从你的屏幕截图中似乎被称为“1”)
git checkout -b hotfix-branch 1
- Cherry-pick your hotfix 来自
master
和git cherry-pick <commit of hotfix>
- 在该分支上创建一个新标签
git tag -a 1.0.1 -m "Hotfix for issue..."
- 从该标签创建新版本。
工作流程说明:
我注意到你的版本只有一个数字。你应该看看 semantic versioning,最常用的 three-decimal 版本系统,它使用每个数字来传达特定的含义,主要是 backwards-compatibility.
如果我的猜测是正确的并且您只有一个分支,您还应该查看 git flow,这是最 commonly-used 的工作流程,可以使发布修补程序等操作变得容易。