我是使用CLI来使用Git的忠实粉丝,但是我发现需要文件名的任务有点麻烦。我diff
想到了嵌套在许多文件中的任务,例如单文件检出。
我目前正在编写别名,以通过使用Bash别名来实现此目的。这是使用变更索引进行比较的示例-
# allows diffing using file index rather than relative path
gdiff() {
f=`git status -s | sed $1'q;d' | cut -d' ' -f3`
git diff $f
}
这样一来,git diff my/super/duper/long/secret/path/app.py
除了做我可以做的以外gdiff 1
(假设fileapp.py
是中返回的第一个文件git status
)。对于通常使用的每个需要文件名的功能,我几乎都有别名。
Git是否提供完成此任务的内置方法?
无需包装git diff
或其他git
命令;您只想排除从中检索文件名的过程git status
。
file_by_num () {
git status -s | sed $1'q;d' | cut -d' ' -f3
}
git diff "$(file_by_num 1)"
git checkout "$(file_by_num 3)"
# etc
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句