2017-12-09 4 views
0

私が理解しているように、git logに現れないコミットは依然としてリポジトリに存在します。 git show id-of-squashed-commitgitは、コミットが行われた時のある程度の知識を保持しています。

私の質問は、コミットが行われたときの何らかの知識を保存していますか?

使用例:平日に作業するコーダーを雇ったとしますが、週末にすべての作業が完了したと思われます。 GitHubにプッシュする前に、コーダーの縮小がコミットします。しかし、隠されたコミットにはタイミング情報が含まれている可能性がありますか?

答えて

4

はい:コミットごとに2つのタイムスタンプが付いています。 "author"タイムスタンプと "committer"タイムスタンプ。

これらを使用しようと、多くの落とし穴とはいえ、あります

  • 彼らは著者/コミッターの制御下です。
  • これらは、誤ったコンピュータ時計の対象です。
  • これらは、解釈が難しい場合があります(タイムゾーンオフセットがあります)。
  • 正確であっても、にはコミットオブジェクトが必要です。新しいコミット作るために、その後

Gitは分散され、コミッタが自分のリポジトリ内にコミットすることができますので、彼らはコミットのシリーズを作ることができるが、git squashコミットのシリーズ、そしてgit pushのみ新しいコミット。この場合、にはがありません。オリジナルはコミット先のリポジトリにのみ存在し、GitHubではなく、クローンにも存在します。

関連する問題