Git推送一个特定的提交

时间:2014-03-19 08:39:27

标签: git

当我的主管进来并要求修理一个小虫子时,我正在做一些长期任务并且已经做了几次对本地回购的提交。

我已修复它,现在需要将其部署到生产中。但是,我从长期任务中完成的工作尚未完成且未经测试,因此不应该进行生产。小错误修复和长任务的更改会影响我的仓库中的不同文件。

我应该如何提交这个小错误修复然后将其推送(并且只有它)生成,然后在小提交之上重新执行长任务(以便历史记录与prod中的相同)?

2 个答案:

答案 0 :(得分:5)

进入您的发布分支,或者您从中部署的任何内容。

执行git cherry-pick <sha>,其中<sha>是包含修复的提交的sha。这将只添加该分支的提交。您现在可以部署它。返回到您的工作分支并在发布分支的顶部重新绑定它。

篮板会改变历史,但只要你没有推动你的工作分支,它就是安全的 - 这很可能。

答案 1 :(得分:0)

从要部署的更改中创建patch file,将本地克隆重置为主分支(或用于跟踪生产的任何内容),应用修补程序并进行部署。然后切换回您的功能分支,将生产分支合并回来,然后离开。

相关问题