如何git配置cherry-pick -Xignore-all-space作为Gerrit的默认空间?

时间:2015-01-07 20:17:02

标签: git gerrit

前言我在我的日常工作中同时使用Git和Gerrit。一个常见的工作流程是挑选一个正在审查的补丁集,解决与合并的任何冲突,然后进行更多更改并修改提交,然后再将新补丁集推送回Gerrit。

我发现git cherry-pick在默认情况下很难处理琐碎的空白更改,并且使用-Xignore-all-space的合并策略选项通常会显着减少需要解决的冲突量一个补丁集的樱桃挑选。我希望这始终是一个樱桃选择期间的默认行为,而不必指定选项但是没有找到在.gitconfig中设置它的方法

明显的解决方法是简单地为Git创建一个别名,但是当使用Gerrit时,有一个方便的cherry-pick命令可以通过单击按钮复制到剪贴板,该按钮采用以下形式:

git fetch ssh://user@hosturl:port/remote/repo/path refs/changes/id/change/patch-set && git cherry-pick FETCH_HEAD

需要用别名替换“cherry-pick”部分同样需要像我现在一样添加“-Xignore-all-space”选项。手动输入Gerrit补丁集引用的详细提取是荒谬的,我无法更改Gerrit项目或任何非本地机器的内容。

有没有办法git配置一个默认的cherry-pick合并策略选项,或者可能是一种使用钩子脚本或触发器来完成此任务的方法?

1 个答案:

答案 0 :(得分:0)

在兼容bash的shell中解决这个问题的方法是添加一个别名
alias git-cp='git cherry-pick -Xignore-all-space'
将其添加到.bashrc并完成源〜/ .bashrc。

需要注意的一点是:别名中不允许有空格。