98

実行された最新の日時を確認するにはどうすればよいgit pullですか?何か問題が発生したときにサーバー上のコードがいつ変更されたかを頻繁に知る必要があります。

4

12 に答える 12

164
stat -c %Y .git/FETCH_HEAD

そのファイルの最後の変更のUNIXタイムスタンプを提供します。Gitは、プルするものがない場合でも、プルまたはフェッチするたびにFETCH_HEADファイルを書き込みます。

于 2012-02-10T14:33:02.460 に答える
55

直感で、「stat -c %y .git/FETCH_HEAD」を試してみたところ、人間が読める時間のプリントアウトが得られました。

> stat -c %y .git/FETCH_HEAD
2015-02-24 17:42:08.072094410 -0500

さらに、 ~/.gitconfig ファイルwhen = !stat -c %y .git/FETCH_HEADのセクションに追加できます (任意の git リポジトリで次のコマンド ラインを実行して、これを自動的に行うのが最も安全です)。[alias]

git config --global alias.when '!stat -c %y .git/FETCH_HEAD'

そして、いつでも新しい「コマンド」でこの情報を見つけることができます:

> git when
2015-02-23 15:07:53.086254218 -0500

[その後、"man stat" を実行することを思いついたのですが、'stat' プログラムで使用できる % パラメータが他にもたくさんあることがわかりました。YMMV.]

于 2015-02-24T22:44:54.007 に答える
35

このgit showコマンドは、最新のコミットの日付を表示します。これはコミットがローカル リポジトリにプルされた日付ではありませんが、Git はそのようなプル情報を保持しません。

サーバー上のファイルの ctime (作成時間) を使用して、最後のプルの時間を見つけることができる場合があります。例えば:

ls -lct

最新のものから順にソートされた各ファイルの ctime を表示します。

于 2010-06-07T23:37:04.120 に答える
10

裸でないリポジトリ (および裸のリポジトリは には意味がありませんgit pull) では、git は、ブランチのヒントと現在のブランチのアイデアに対するすべての変更を の「reflogs」に記録し.git/logsます。これらは、 を使用して表示できますgit log -g

ただし、ログ ファイルにはタイムスタンプがありますが、それが出力されるようには見えませんgit log -g.git/logs/HEADただし、たとえば、見てみると、フォーマットが非常に簡単に解析できることがわかります。これは、ref (または HEAD) の変更元、変更先、変更者、変更時期、アクティビティ メッセージで構成されています。

于 2010-06-07T23:42:04.893 に答える
3

Python を使用します。python -c "import os;print os.stat('.git/FETCH_HEAD').st_mtime"

于 2015-03-22T02:42:10.870 に答える