【问题标题】:Automate `--ours` and `--theirs` during `git rebase`在 `git rebase` 期间自动化 `--ours` 和 `--theirs`
【发布时间】:2021-10-28 07:16:50
【问题描述】:

我有一个 500 次提交的长变基,我必须通过 github checkout --ours file.py--theirs 为每个提交指定相同的文件以支持;有没有办法通过告诉Git Bash 将此首选项应用于所有进一步的冲突来自动执行此操作?

【问题讨论】:

  • 我会注意到,在 rebase 期间仅拿走我们/他们的就很少见。这并非完全不可能,只是很少见——如果您发现自己处于其中一种情况,那可能意味着无论如何git rebase 是错误的工具。
  • @torek 我的 PR 是基于一个分支的,但是库重新基于另一个分支,现在我必须合并到那个分支中——是的,我确定 --ours--theirs 始终存在在这种情况下也是如此。如果有更好的方法,我可以提出一个问题。
  • 上游做自己的变基这些罕见情况之一的候选者。听起来你已经中了一个。这种事情当然是为什么其他人不应该在可能的情况下对公共代码进行变基:这让像 you... 这样的人非常头疼

标签: git github git-bash


【解决方案1】:

如果这是一个轻率的过程,那么请随意编写脚本......类似于:

git rebase blahblahblah
if [ $? -ne 0 ]; then
    # rebase stopped for whatever reason
    while true; do
        git checkout --ours blahblah
        # more commands to specify what should be attempted with each file
        git add . # add all files.... perhaps something a little mlre specific would help
        # let's try again
        GIT_EDITOR=/bin/true git rebase --continue
        if [ $? -eq 0 ]; then
            break # we are done
        fi
    done
fi

【讨论】:

  • 在它开始引发无法解决的内部错误后,我决定放弃,但我相信它有效
猜你喜欢
  • 2017-12-05
  • 1970-01-01
  • 2014-09-04
  • 2019-09-07
  • 2017-06-04
  • 1970-01-01
  • 2023-03-20
  • 2018-04-28
  • 2020-08-24
相关资源
最近更新 更多