使用git rebase
,可以使用-X <strategy-option>
或--strategy-option=<strategy-option>
传递合并策略选项。从手册页尚不清楚,是否可以传递多个选项(或后续选项是否替换先前的选项),以及是否可以传递正确的语法为-X <opt1,opt2>
或-X <opt1> -X <opt2>
。运行git rebase --verbose -m -X <opt1> -X <opt2> <upstream>
不会产生错误,但是即使启用了详细输出,也没有指示是同时应用了两个选项还是仅应用了最后一个选项。
答案 0 :(得分:1)
git diff
使用opt1,opt2,opt3
逗号分隔的语法
D:\git\git\t>grep -E "\-X" *.sh|grep "\,"
t4047-diff-dirstat.sh: test_must_fail git show -X=20,cumulative
t4047-diff-dirstat.sh:test_expect_success 'explicit defaults: -Xchanges,noncumulative,3' '
t4047-diff-dirstat.sh: git diff -Xchanges,noncumulative,3 HEAD^..HEAD >actual_diff_dirstat &&
不适用于合并/变基中的策略选项。
对于这些,需要多个-Xopt1 -Xopt2
。
但是我只能找到一个测试了这种语法的实例,并且在失败的情况下:t3418-rebase-continue.sh
test_must_fail git rebase -i -s funny -Xopt -Xfoo master topic
所以实际上,我不确定是否会使用它。
引入-X
的{{3}}一次只能使用一个策略选项进行测试。
不过,我看到了一个使用git cherry-pick的示例:
D:\ git \ git \ t> grep -E“ -X。*?-X” * .sh
t3418-rebase-continue.sh:test_must_fail git rebase -i -s有趣-Xopt -Xfoo主主题 t3510-cherry-pick-sequence.sh:test_expect_code 128 git cherry-pick -s -m $ mainline --strategy = recursive -X耐心-X我们的首字母..anotherpick &&
请参见initial commit (Nov 2009, Git v1.7.0-rc0),t3510-cherry-pick-sequence.sh
。
test_expect_code 128 git cherry-pick -s -m $mainline --strategy=recursive -X patience -X ours initial..anotherpick