gpt4 book ai didi

git - 确定目标分支中的哪个提交导致了冲突

转载 作者:行者123 更新时间:2023-12-04 07:39:33 26 4
gpt4 key购买 nike

rebase 时遇到冲突时 foomaster有没有办法以编程方式确定哪些提交master 引起冲突?
要手动执行此操作,我基本上会找到冲突的行,请查看 master , 运行 git blame然后查看哪些提交在 merge 基础之后更改了这些行。
有没有一种简单的方法可以以编程方式执行该过程?
这不是重复的问题
与这些其他问题不同,我想知道目标分支上的哪些提交会导致冲突,而不是我正在 rebase 的分支上的提交。

  • git rebase conflict was caused by which commit
  • How to identify conflicting commits by hash during git rebase?
  • Determine which commits will cause conflicts
  • 最佳答案

    假设你可以中止 rebase 来做这个测试,我会通过在 master 上临时创建一个新分支来处理它,尝试将它 rebase 到 foo,并提取在该操作期间首先发生冲突的提交。

    #!/bin/bash
    # Make these command line parameters if you want
    dest=master
    source=foo
    # Find the conflict commit
    git checkout $dest
    tmp_branch=$(mktemp -u | sed 's/.*\///') # Not strictly safe, I know, but it works
    git checkout -b $tmp_branch
    if git rebase $source; then
    conflict_commit=None
    else
    conflict_commit=$(git am --show-current-patch | head -1 | sed 's/ *commit *//')
    git rebase --abort
    fi
    git checkout $source
    git branch -D $tmp_branch
    # Use $conflict_commit as needed
    echo Conflict at "$conflict_commit"

    关于git - 确定目标分支中的哪个提交导致了冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67566615/

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