gpt4 book ai didi

git - 设置默认差异算法不会转化为默认 merge 算法(耐心)

转载 作者:IT王子 更新时间:2023-10-29 00:39:06 25 4
gpt4 key购买 nike

我看过很多博客文章和堆栈溢出文章都这么说git config --global diff.algorithm patience将允许差异和 merge 将耐心策略选项与默认递归算法一起使用。

我发现情况并非如此,我提供了以下演示来说明原因。

git config --global diff.algorithm patience   //mythical config statement  

git clone https://github.com/kjlubick/PracticingGit.git
cd PracticingGit
git checkout origin/patience-merge-1 -t

git checkout -b merge_test //temp branch for merging
git diff origin/patience-merge-2

image这个差异(图片由 meld 提供)看起来很不错。让我们尝试将其 merge 。

git merge origin/patience-merge-2

image

嗯? merge 看起来很难看。尽管第 9-19 行实际上并没有改变,但它们被标记为冲突/改变的方式与 diff 完全不同。

如果我们强制 merge 使用耐心策略选项:

git merge --abort
git merge origin/patience-merge-2 -X patience

image

那好多了。冲突与我们之前所做的差异匹配并且在语义上是正确的。

我怎样才能使 merge 真正使用耐心设置,而不仅仅是差异?

我尝试(未成功)在黑暗中拍摄的其他照片:

git config --global merge.algorithm patience
git config --global merge.diff.algorithm patience

系统信息:
Windows 8.1
git 版本 1.8.4.msysgit.0(通过 GitHub for Windows 2.0)

最佳答案

像 Appleman1234 那样给 git 打补丁并不理想。我希望这个功能在未来的版本中出现。

现在,我想我必须接受别名

git config --global alias.pmerge "merge -X patience --"

这让我可以做

git pmerge origin/patience-merge-2

代替

git merge origin/patience-merge-2 -X patience

在我之前给出的示例中。

关于git - 设置默认差异算法不会转化为默认 merge 算法(耐心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25063002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com