git 添加 - 仅添加 'both modified:' 个文件的标志

git add - flag to add 'both modified:' files only

让我展示一个场景 - 我正在 my_branch b运行ch 下进行回购,我需要将 other_branch 的更改合并到我的 b运行通道

我运行命令: git merge origin/feature/other_branch

这是 git status 在 运行 执行此命令后的示例:

$ git status
On branch feature/my_branch
Your branch is up-to-date with 'origin/feature/my_branch'.
You have unmerged paths.
  (fix conflicts and run "git commit")

Changes to be committed:

        modified:   file1
        modified:   file2

Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:   file3
        both modified:   file4

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   file5
        modified:   file6        

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        file7
        file8

如您所见,file1file2 的更改已从 other_branch 接受并已准备好提交。

我在 file3file4 中遇到了合并冲突,我已经在我的编辑器上手动修复了。

我已经对 file5file6 进行了一些更改,但我还不愿意做出这些更改...

我已将 file7file8 添加到工作区,但我也不愿意提交它们。

要将冲突的文件添加到阶段,我需要运行:

git add file1
git add file2

git add 中是否有一些标志 ,使用它我只能使用 both modified 状态的文件,同时忽略已修改和未暂存的文件?

谢谢

git add本身没有这样的标志。

但它可以将文件列表作为参数。
你可以 list unmerged files:

git diff --name-only --diff-filter=U

所以,类似这样的方法可行 (using this to bring all files in one line):

git add $(git diff --name-only --diff-filter=U | xargs)