gpt4 book ai didi

git - 使用 git 和 Vim 或 textmate 等编辑器时,一次编辑冲突文件的最简单方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 12:50:29 24 4
gpt4 key购买 nike

我想稍微调整一下

当我在命令行中输入 git status 时,我会得到一个需要解析的文件列表,如下所示:

# Unmerged paths: #
# (use "git reset HEAD <file>..." to unstage)
# (use "git add <file>..." to mark resolution)
#
# both modified: apache2/templates/default/apache2.conf.erb
# both modified: bootstrap/attributes/default.rb
# both modified: iptables/metadata.rb
# both modified: kickstart/templates/default/ks.cfg.erb
# both modified: openssl/metadata.json
# both modified: postfix/metadata.json
# both modified: postfix/templates/default/main.cf.erb

有没有一种简单的方法可以将这个文件路径列表传递到文本编辑器中,这样您就可以一次性编辑它们?

例如,我可以通过简单地通过 grep 将其管道化:

[17:37]:git status | grep "both modified"
# both modified: apache2/templates/default/apache2.conf.erb
# both modified: bootstrap/attributes/default.rb
# both modified: iptables/metadata.rb
# both modified: kickstart/templates/default/ks.cfg.erb
# both modified: openssl/metadata.json
# both modified: postfix/metadata.json
# both modified: postfix/templates/default/main.cf.erb

但我不确定如何只使用 shell 命令返回它,或者是使用 ruby​​ 还是 python 最简单,通过正则表达式传递每一行,过滤掉 # both modified:.

我想要的最终结果是这样的:

vim #{space_separated_list_of_files}

你们会怎么做?

最佳答案

这是我在 gitconfig 中的一对别名,取自 git wiki :

edit-unmerged = \
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; vim `f`"
add-unmerged = \
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; git add `f`"

应该做你想做的事!

关于git - 使用 git 和 Vim 或 textmate 等编辑器时,一次编辑冲突文件的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3174090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com