当我的主管进来并要求修理一个小虫子时,我正在做一些长期任务并且已经做了几次对本地回购的提交。
我已修复它,现在需要将其部署到生产中。但是,我从长期任务中完成的工作尚未完成且未经测试,因此不应该进行生产。小错误修复和长任务的更改会影响我的仓库中的不同文件。
我应该如何提交这个小错误修复然后将其推送(并且只有它)生成,然后在小提交之上重新执行长任务(以便历史记录与prod中的相同)?
答案 0 :(得分:5)
进入您的发布分支,或者您从中部署的任何内容。
执行git cherry-pick <sha>
,其中<sha>
是包含修复的提交的sha。这将只添加该分支的提交。您现在可以部署它。返回到您的工作分支并在发布分支的顶部重新绑定它。
篮板会改变历史,但只要你没有推动你的工作分支,它就是安全的 - 这很可能。
答案 1 :(得分:0)
从要部署的更改中创建patch file,将本地克隆重置为主分支(或用于跟踪生产的任何内容),应用修补程序并进行部署。然后切换回您的功能分支,将生产分支合并回来,然后离开。