作者:海边遗忘的时光_958 | 来源:互联网 | 2023-02-04 19:58
当我这样做时,如何指定默认合并策略git stash pop
?
我试过了
git stash pop --theirs
但这不起作用.
1> torek..:
旁注:您不希望--theirs
- 这是一个选项git checkout
,而不是合并 - 并且没有-s theirs
策略,只有一个-X theirs
策略选项(我喜欢称这些"扩展选项"将它们与-s
策略区分开来).
然而,答案是你不能:它根本不作为git stash
代码的一部分得到支持.
这是有可能做到这一点的方式不同. 该git stash
脚本是一个shell脚本,您可以复制和修改或逐个运行其各个位,运行git merge-recursive $b_tree -- $c_tree $w_tree
以在stashed工作树提交中合并.您可以自己手动执行此操作,也可以通过复制和修改脚本以及其他-X
扩展选项来完成此操作.但是,这并不能保证做你想做的事.这只会影响到了Git认为是矛盾的地方,在这种情况下,将有利于一方或另一方:-X ours
手段有利于$b_tree
至- $c_tree
变化,而不是$b_tree
来$w_tree
改变,-X theirs
手段有利于$b_tree
对$w_tree
改变.您可能希望整个文件不会$w_tree
提交,或者不要进行一些不会发生冲突的更改.
(您可以在私有分支上进行自己的提交更简单,更直接;然后您可以随时从该提交中提取单个文件和/或执行您喜欢的任何合并,而不必担心git stash
脚本的特定内部细节可能会从一个Git版本变为另一个.请注意,要一次合并一个特定文件,您可以使用git merge-file
,但它有点笨拙.)