1

AtlassianStashのスクリーンショット

Stashによると、最新のコミットは8分前にコミットされたという。その時、私はローカルで変更をコミットしました。次に、7分後(スクリーンショットの1分前)に変更をStashリポジトリにプッシュしました。

使用されているのはローカルコミット日であることに少し驚いています。それは本当にそれがどうあるべきか?

4

1 に答える 1

3

Git では、コミットは不変です。各コミット

その時点でのプロジェクトのスナップショットの最上位ツリー。user.name および user.email 構成設定から引き出された作成者/コミッター情報と、現在のタイムスタンプ。空行、そしてコミットメッセージ。

プッシュ(強調地雷)

指定された参照を完了するために必要なオブジェクトを送信しながら、ローカル参照を使用してリモート参照を更新します。

プッシュはオブジェクトをサーバーに送信し、オブジェクトはコミットのタイムスタンプをキャプチャするため。論理的にサーバーができる唯一のことは、キャプチャされたタイムスタンプであることを示すことです。

Stash がプッシュの時間を表示できる方法は 2 つあります。

  1. コミットを変更し、それらのタイムスタンプを更新します (これは世界で最悪のアイデアではないかもしれませんが、かなり近いです)。
  2. 特定のコミットがプッシュされたときのタイムスタンプの独自のセットを維持し、コミットに記録されたものに加えてその情報を表示します。これは実行可能ですが、余分な作業であり、その利点はすぐにはわかりません。
于 2012-09-04T14:54:19.053 に答える