当我的负责人进来并要求修复一个小错误时,我正在做一些长期任务并且已经对本地 repo 做出了几次 promise 。
我已修复它,现在需要将其部署到生产环境中。但是,我在长期任务中的工作尚未完成且未经测试,因此不应该投入生产。来自小错误修复和长任务的更改会影响我的存储库中的不同文件。
我应该如何提交这个小错误修复,然后将其(并且仅将其)推送到生产环境,然后在小提交之上重新提交长任务(以便历史记录与生产环境中的相同)?
最佳答案
进入你的发布分支,或者你部署的任何分支。
做一个git cherry-pick <sha>
其中 <sha>
是包含您的修复的提交的 sha。这将只将该提交添加到该分支。您现在可以部署它。返回到您的工作分支并将其 rebase 到发布分支之上。
rebase 将改变历史,但只要您没有推送您的工作分支,它就是安全的——这是有可能的。
关于Git 推送一个特定的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500294/