Git - 如何在采摘樱桃时自动解决"我们删除"冲突

Leg*_*gat 10 git git-cherry-pick git-merge-conflict

我运行以下命令:

git cherry-pick SHA --strategy-option theirs
Run Code Online (Sandbox Code Playgroud)

并得到这样的冲突等待手动解决:

deleted by us: SOME_FILE
Run Code Online (Sandbox Code Playgroud)

有没有办法让git通过添加我们删除的文件自动解决此类冲突?

Rah*_* R. 11

我们删除的是您在提交中添加的新文件(获取樱桃).但是这些文件不存在于当前分支(您正在挑选的分支中).

因此,在这种情况下,您必须通过运行以下手动添加这些文件:

git add <file-path>
Run Code Online (Sandbox Code Playgroud)

但是,如果您认为,在采摘樱桃后,当前分支中将不再需要这些文件,在这种情况下,您可以执行以下操作:

git rm <file-path>
Run Code Online (Sandbox Code Playgroud)


Sim*_*und 5

如果确定要添加所有“我们删除的”文件,则可以执行以下操作:

git status | sed -n 's/deleted by us://p' | xargs git add
Run Code Online (Sandbox Code Playgroud)

或者,如果您要删除所有“由我们删除”文件:

git status | sed -n 's/deleted by us://p' | xargs git rm
Run Code Online (Sandbox Code Playgroud)