前言:
如果我们使用git来管理自己的代码的话,可能就会遇到我标题上说的那个问题。
- 我们所要完成的项目在git上不一定只有一个分支,很多项目有都会有两个或者两个以上的分支。
- 但是如果我们在其中一个分支上提交了代码,但是突然被告知,这个分支停用了,分支的代码已经merge到了一个新的分支上了,而恰巧我们的提交在merge之后,那难道我们只能在重新改一下新分支的对应的代码吗?
这块用两个分支简单解释一下:
分支一:master,分之二:dev
程序员:我们在master分支上提交了一次改动的代码。
经理老大:master昨天不用了,代码已经merge到dev分支上了。
程序员:啊?那我在dev上改一下,重新提交一下吧,稍等!
经理老大:不用,我来教你一招。
我们都知道,在git上每一次提交代码,都会给我们的这次commit 生成一个唯一的 hash 值
。
所以,完成操作只需要三步走:
git clone <dev 分支代码>
git cherry-pick <master 分支上提交的代码的hash值>
git push
注意:
- 写命令的时候千万别把
<>
带上,哈哈。 - 执行完命令 2 之后,相当于我们在正常情况下执行了两步:
- 把git仓储上master提交的此hash值对应的代码拿到dev分支下。
- 然后执行了
git commit -m ""
- 所以千万要记得执行
git push