git - 如何将分支与已发布的代码合并?
问题描述
我有一个需要应用于已发布代码的修补程序。我可以找到发布的主,但是当我尝试合并分支时,GitHub 会自动将默认分支更改为主分支。我不确定如何从 GitHub UI 执行此操作。有人可以帮忙吗?
我正在尝试做的事情:
- 我有一个发布
- 我做了一个修补程序,但我目前的主人比发布 Test12 还早。我只需要将此修补程序添加到 Test12 版本。
解决方案
首先,您不想将它们添加到 Test12 版本中,而是要创建一个新版本。一旦你发布了代码,你就不应该改变它,因为这会造成你在同一名称下有不同的代码的情况,这只会造成混乱。如果 Test12 在您发布下一个后变得完全不相关,并且您不希望人们使用它(完全损坏,安全漏洞等),您可以删除该版本。
从你的文字听起来你只有一个分支,master
.
发布修复程序的快速解决方案可能是:
- 返回与您的版本匹配的提交并基于该提交创建一个新分支(该分支将具有关联的标签,在您的屏幕截图中似乎称为“1”)
git checkout -b hotfix-branch 1
- Cherry-pick 您的
master
修补程序git cherry-pick <commit of hotfix>
- 在该分支上创建一个新标签
git tag -a 1.0.1 -m "Hotfix for issue..."
- 从该标签创建一个新版本。
工作流程说明:
我注意到您的版本只有一个数字。您应该查看语义版本控制,这是最常用的三位十进制版本系统,它使用每个数字来传达特定含义,主要是向后兼容。
如果我的猜测是正确的,并且您只有一个分支,那么您还应该查看git flow,这是最常用的工作流程,用于简化发布修补程序等操作。
推荐阅读
- r - 运行多行代码但在 R 中出现错误(来自 RStudio)?
- javascript - 在 google sheet 脚本中声明 const 的替代方法
- python - 气流initdb上的sql炼金术连接终止
- dart - 在这种情况下如何更改变量的值?
- react-native - 我可以在我的应用程序中触发或运行本地推送通知吗?
- r - 映射列表并创建训练和测试拆分
- sql - 将表格格式更改为透视
- regex - 有没有一种 Ruby 方法可以替换字符串的最后四位数字,不包括空格?
- flutter - 当我从主页退出并重新启动应用程序时,它会返回主页(使用颤振)
- sql - 按条件按自定义顺序进行条件查询