有没有办法将提交合并到git中master上的上一个点?

时间:2019-03-05 19:35:14

标签: git

很抱歉,如果这是一个非常基本的问题,但是我的公司最近改用了git,因此我试图加快速度。我很难找到搜索答案。

这是场景:

您在master上拥有产品的版本1。稍后,您发布版本2并将该版本合并到主版本中。但是,版本1中报告了一个错误,一些用户不想切换到版本2。他们只想继续使用版本1,但是他们想要在版本1.1中修复该错误。

是否有办法在master上签出版本1检查点,进行错误修复,将其签回到master,然后将修订转发到master上的版本2?这对于保存历史记录很有用,而不是只需要创建一个单独的版本1分支挂在外面,然后将修复程序转移到主节点上即可。

编辑:这已被标记为重复,并且我已经链接到有关如何检出先前提交的问题。那不是我的问题。我的问题是如何对以前的签入进行紧急修复,然后将其转发合并到以后的签入中以保留历史记录。

1 个答案:

答案 0 :(得分:3)

采取两个步骤:将提交应用到较早的状态以及主HEAD。

首先,签出较早的状态并创建一个分支。

git checkout <commit hash>
git checkout -b <new-branch-name>

或签出原始要素分支。

git checkout <merged-branch-name>

然后进行更改。推动分支并使用该分支与您的客户共享。

现在,将您的更改提交樱桃拖入主服务器:

git checkout master
git cherry-pick <commit hash>

与任何合并一样,这可能会导致冲突。您需要照常处理它们。