编辑git合并/重基中的所有冲突文件(特殊字符安全)
在编辑git合并/重基中的所有冲突文件(特殊字符安全),git,shell,git-merge,git-rebase,Git,Shell,Git Merge,Git Rebase,在git-rebase中间,我的状态如下: $ git status --short M lib/tmuxinator.rb UU lib/tmuxinator/cli.rb UU lib/tmuxinator/config.rb A spec/fixtures/TMUXINATOR_CONFIG/TMUXINATOR_CONFIG.yml M tmuxinator.gemspec 如何使用单个命令在文本编辑器中打开有冲突的文件(上面表示为U) 解决方案必须使用\n和文件名中的特殊字符。
git-rebase
中间,我的状态如下:
$ git status --short
M lib/tmuxinator.rb
UU lib/tmuxinator/cli.rb
UU lib/tmuxinator/config.rb
A spec/fixtures/TMUXINATOR_CONFIG/TMUXINATOR_CONFIG.yml
M tmuxinator.gemspec
如何使用单个命令在文本编辑器中打开有冲突的文件(上面表示为U
)
解决方案必须使用
\n
和文件名中的特殊字符。许多命令都有-z
、-0
或-null
选项来生成/使用NUL
终止的输出
使用以下命令:
git status -sz | sed -rnz 's/^(U.|.U) (.*)/\2/p' | xargs -0 $EDITOR
或者作为gitconfig
别名:
[alias]
resolve=!"git status -sz | sed -rnz 's/^(U.|.U) (.*)/\\2/p' | xargs -0 $EDITOR #"
“编辑文件”是什么意思?是否要在文本编辑器中打开它们?或者您正在尝试以某种方式自动解决合并冲突?谢谢,我已经澄清了。但是,如果您有任何关于自动解析的提示,请告诉我!