299

この質問には「行番号」が必要です。出力の行番号を気にしない場合は、この質問と回答を参照してください


基本的に、変更されたコンテンツは表示せず、ファイル名と行番号だけを表示します。

4

11 に答える 11

902

使用する:

git diff --name-only

行って差分をとってください!

于 2012-12-13T00:50:52.730 に答える
80

変更された行の数としての行番号または変更を含む実際の行番号? 変更された行数が必要な場合は、 を使用しますgit diff --stat。これにより、次のような表示が得られます。

[me@somehost:~/newsite:master]> git diff --stat
 whatever/views/gallery.py |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

変更自体の行番号を取得するオプションはありません。

于 2012-03-24T01:29:55.697 に答える
72

注:変更されたファイルの名前 (変更された行の行番号なし)を探しているだけの場合は、こちらの別の回答を参照してください。


これには組み込みのオプションはありません (また、それほど便利だとも思いません) が、「外部差分」スクリプトを使用して、Git でこれを行うことができます。

これはかなりくだらないものです。出力を好きなように修正するのはあなた次第です。

#! /bin/sh
#
# run this with:
#    GIT_EXTERNAL_DIFF=<name of script> git diff ...
#
case $# in
1) "unmerged file $@, can't show you line numbers"; exit 1;;
7) ;;
*) echo "I don't know what to do, help!"; exit 1;;
esac

path=$1
old_file=$2
old_hex=$3
old_mode=$4
new_file=$5
new_hex=$6
new_mode=$7

printf '%s: ' $path
diff $old_file $new_file | grep -v '^[<>-]'

「external diff」の詳細についてはGIT_EXTERNAL_DIFFGit のマニュアル ページの の説明を参照してください(700 行目あたり、かなり最後に近い)。

于 2012-03-24T21:32:38.017 に答える