git cherry-pick的用处、理解和问题

发布时间 2023-07-25 18:45:27作者: 背壳前进的牛

git cherry-pick 是一种针对git commit的一种操作,可以快速将已经提交过的代码应用到新的分支。

具体步骤:

1、获取commit的SHA值(可以在git push后的代码管理中找到)

  例: 5bdd888cd0b3230c1acf2b87a8236f6065a49a02

2、切换到对应分支 (hotfix_20230725)

  输入 git cherry-pick 5bdd888cd0b3230c1acf2b87a8236f6065a49a02

具体场景:

1、线上出现问题需快速修复且本地已经修改提交到测试分支,测试完成需上正式环境,但是不想将所有测试分支代码发布。

 

遇到过的问题:

1、问题:已经在其他分支(other)修改代码并且提交到测试分支、但是在hotfix分支cherry-pick时报错

    bad object 5bdd888cd0b3230c1acf2b87a8236f6065a49a02

  修复:在当前项目中切换到其他分支(other)拉取代码(git pull)后,切换会hotfix分支再次执行 git cherry-pick 5bdd888cd0b3230c1acf2b87a8236f6065a49a02

  原因:执行 git cherry-pick 没有在当前项目检测到git记录,需将对应分支的git记录更新。