2013-10-14 4 views
10

は、どのように私は彼らの修正時刻によってソートされたファイルを一覧表示することができますか?gitのLS-ファイルのソート修正時間によって

私はGitの修正時刻ではなく、システムの変更時間が欲しいです。例えば、私は(コミット)を持っている場合は、システムの修正時刻を変更します、その後

touch README 

READMEを提出...しかし、gitの状態は変わらないでしょう。私は

git ls-files -z | xargs -0 ls -t 

をしようとした場合

これは、システムの修正時刻でソートされます。

そのgitの修正時刻によってソートされたファイルを一覧表示しますgit ls-filesへのオプションがありますか?

答えて

15

そのgitの修正時刻によってソートされたファイルを一覧表示しますgit ls-filesへのオプションがありますか?

私はそうは思わない。可能な方法の1つは、ファイルを繰り返し処理し、タイムスタンプをgit log、出力をsortとすることです。

以下はあなたのために働くかもしれない:

while read file; do echo $(git log --pretty=format:%ad -n 1 --date=raw -- $file) $file; done < <(git ls-tree -r --name-only HEAD) | sort -k1,1n 
2

私は、次のコマンド

git ls-files -z -- "${dir}" | xargs -0 -n1 -I{} -- git log -1 --format="%at {}" {} | sort | tail -n1 | cut -d " " -f2- 
を使用して、フォルダ内のファイルを並べ替えることができました
関連する問題