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
如您所见,file1
和 file2
的更改已从 other_branch
接受并已准备好提交。
我在 file3
和 file4
中遇到了合并冲突,我已经在我的编辑器上手动修复了。
我已经对 file5
和 file6
进行了一些更改,但我还不愿意做出这些更改...
我已将 file7
和 file8
添加到工作区,但我也不愿意提交它们。
要将冲突的文件添加到阶段,我需要运行:
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)
让我展示一个场景 - 我正在 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
如您所见,file1
和 file2
的更改已从 other_branch
接受并已准备好提交。
我在 file3
和 file4
中遇到了合并冲突,我已经在我的编辑器上手动修复了。
我已经对 file5
和 file6
进行了一些更改,但我还不愿意做出这些更改...
我已将 file7
和 file8
添加到工作区,但我也不愿意提交它们。
要将冲突的文件添加到阶段,我需要运行:
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)