Если я сделаю 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