git cherry-pick

QuibblerQuibbler 2020-03-05 约 3 分钟 1743 次阅读

git cherry-pick


将另一个分支的提交“捡”过来,再次在当前分支提交。需要知道本地另一个分支的提交的commit ID,或者gerrit上面的别人提交对应的cherry-pick链接。

git cherry-pick commitID

如果没有出现冲突,该命令将自动提交。如果不想cherry-pick自动产生提交,继续往后面看。

1、cherry-pick 冲突

如果要cherry-pick过来的提交和本地的修改有冲突,需要处理,解决完冲突之后,先将修改的文件也加入到本次cherry-pick:

git add .

再继续:

git cherry-pick --continue

编辑本次cherry-pick的comment

git commit --amend

2、取消cherry-pick 

或者取消本次cherry-pick

git cherry-pick --abort

中断这次cherry-pick,使用quit:

git cherry-pick --quit

3、cherry-pick其它命令 

①git cherry-pick后加一个分支名,则表示将该分支顶端提交进cherry-pick

git cherry-pick < branchname >

②不想git cherry-pick自动进行提交,则加参数-n即可

git cherry-pick -n commitID

③在cherr-pick后重新编辑提交信息

git cherry-pick -e commitID

④允许空提交

git commit --allow-empty

举个例子:

要将A分支的一个commit合并到B分支:

①首先切换到A分支

git checkout A

②找出要合并的commit ID :

git log
    #例如:0128660c08e325d410cb845616af355c0c19c6fe

③然后切换到B分支上

git checkout B

④将A分支的某个commit合并到了B分支了

git cherry-pick  0128660c08e325d410cb845616af355c0c19c6fe

相关推荐

git rebase调整commit提交的顺序
Git

git rebase调整commit提交的顺序

git rebase调整commit之间顺序一连提交了几笔commit,想调整一下顺序,把其中一笔提交置顶拿到最前面来,专门修改这一笔提交。当然如果想修改某一笔提交,可以reset到那笔commit,进行修改,完成之后再把之后的提交cherry-pick回去。git log查看提交记录,每笔提交记录太多,可以让每笔提交仅显示一行查看 --oneline。使用git rebase -i进入编辑,之前

1.4w
git blame:显示文件的每行提交记录信息
Git

git blame:显示文件的每行提交记录信息

git blame:显示文件的每行提交记录信息git blame对文件的每行信息都进行注释。能看到关于该行修改的每一次commit的哈希标签、作者和提交日期。Intellij IDEA在打开文件的行数右键点击Annotate显示文件每一行的记录信息。应该用的就是这个命令实现的功能。

5.5k
Git可视化工具:Sublime Merge
Git

Git可视化工具:Sublime Merge

Git可视化工具:Sublime Merge同事推荐了一个Git 可视化客户端:Sublime Merge ,由知名文本编辑器 Sublime Text 开发商打造。自己平时用的则是最好用的Git GUI工具:SourceTree,也体验了下Sublime Merge,用起来还不错。直接点击下载或购买后,安装即可。功能免费,完整功能无限制使用。但是订阅内容(比如更换主题)付费。Sublime Me

2.8k