如果我做git diff
,我会得到所有未分档文件的当前更改。git diff只是第一个文件(所有未分类的更改)
有没有简单的方法来自动执行git diff
只是第一个列出的文件(使用内置标志)?
我想出的最好的是:
function git_diff_first_unstaged_file() {
if [[ $(git diff --name-only) ]]; then
git diff $(git diff --name-only | sed -n '1 p')
else
echo "gdf: There are currently no unstaged changes."
fi
}
alias gdf='git_diff_first_unstaged_file'
我想知道如果有一个git diff
标志我刷了,会做这对我来说。
没有标志。你的方法和任何方法一样好(或多或少:你可以通过运行'git diff --name-only | sed -n 1p'来使它更高效一些,将输出保存在一个变量中,然后运行只有存在名称时,才会在该保存的名称上使用“git diff”)。 – torek
我想我可以做'git diff $(git diff --name-only | sed -n 1p)',但if语句很好。无论如何,谢谢你确认我对旗帜潜力的理解:) – Nico
我必须问...你为什么要这样做? – Schwern