在 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 #"
关于git - 编辑 git merge/rebase 中的所有冲突文件(特殊字符安全),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40112190/