git cherry-pick

cherry-pick命令的基本用法

对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并( git merge )。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。

git cherry-pick <commit>

其中,是要应用的提交的哈希值或分支名。该命令会将指定的提交应用到当前分支上,并创建一个新的提交。

cherry-pick的使用场景

  • 合并单个提交:当我们只想应用某个分支上的一个提交到当前分支时,可以使用cherry-pick命令,而不需要合并整个分支。
  • 修复bug:当我们在一个分支上修复了一个bug,并希望将这个修复应用到其他分支上时,可以使用cherry-pick命令。
  • 提取特定功能:当我们在一个分支上开发了一个新功能,并希望将该功能应用到其他分支上时,可以使用cherry-pick命令。

cherry-pick的示例

示例1:合并单个提交

a - b - c - d Master \ e - f - g Feature

假设我们有一个分支feature,其中有一个提交abc123,我们想将该提交应用到master分支上。可以使用以下命令:

切换到 master 分支$ git checkout master
git cherry-pick abc123

上面的操作完成以后,代码库就变成了下面的样子。

a - b - c - d - f Master \ e - f - g Feature

这在master分支上创建一个新的提交,包含与abc123相同的更改。

示例2:修复bug

假设我们在bugfix分支上修复了一个bug,并希望将这个修复应用到develop分支上。可以使用以下命令:

git cherry-pick bugfix

这将在develop分支上创建一个新的提交,包含bugfix分支上的修复。

示例3:提取特定功能

假设我们在feature1分支上开发了一个新功能,并希望将该功能应用到feature2分支上。可以使用以下命令:

git cherry-pick feature1

这将在feature2分支上创建一个新的提交,包含feature1分支上的功能。

你可能感兴趣的:(git)