14

git サーバーからプルした後、変更されたすべてのファイルのリストを取得しようとしています。コードの特定の部分は必要ありません。ファイルのリストだけが必要です (追加、削除、または変更されたかどうかについての何らかの指示が必要です)。

私は最初に git log を使用して見ましたが、それは最後のコミットからの情報のみを返すようです:

git log --name-status --max-count=1 --pretty=format:""

これはプルの最後のコミットからの変更のみを取得するように見えるため、すべての変更を取得する方法を見つけようとしています (プルはほとんどの場合、複数のコミットから存在します)。

これに対するコマンドはありますか?(私はPHPからGitとやり取りしています、ところで)

4

2 に答える 2

28

引っ張った後は、ORIG_HEAD以前の場所をHEAD指し、現在の場所を指します。つまりORIG_HEAD..、現在のブランチにプルされた変更を意味します。--max-count=1あなたが発見したように、あなたが望むものではなく、最後のコミットを意味します。

git diff --name-status ORIG_HEAD..おそらく、変更された各ファイルの 1 文字のステータス コードとファイル名を出力し、すべてのコミットをまとめて出力するようなものが必要になるでしょう。変更ごとに分類したい場合は、次のようなものが必要ですgit log --oneline --name-status ORIG_HEAD..

于 2011-06-30T13:10:30.093 に答える
0

別のコマンドは次のとおりです。

git pull --stat 
于 2012-06-13T17:27:49.350 に答える