0

コミットハッシュがコミット時に生成されることを考えると、これができるとは思えませんが、コミット中にコミットのハッシュ番号を動的に保存する方法はありますか。

例:
いくつかの変更を加えてコミット
します コミット ハッシュがファイルに保存されます
次に、コミットを Github サーバーに同期します

理想的には、私が見ているファイルがどのコミット バージョンであるかを確実に知る方法です。バージョンを実装することはできましたが、開発のペースが非常に速い (多くの場合、数分で 5 ~ 6 件のコミットが行われる) ことを考えると、非常に非現実的です。

私は別の提案を受け入れます。

4

3 に答える 3

0

いいえ、コミット内のファイルにコミットIDを含めることはできません。コミットを識別するsha1ハッシュ。したがって、ファイルに1つのIDを挿入すると、コミットに使用されるハッシュが変更されます。

于 2012-11-26T17:53:46.957 に答える
0

コミットしているときにコミットのハッシュ番号を動的に保存する方法はありますか

いいえ。コミットを識別するハッシュは、コミットオブジェクトが完全に作成されたときに生成されます。したがって、コミットを完了した後、コミットメッセージを書き込んだ後などにのみ、コミットハッシュにアクセスできます。

ただし、例で記述しているように、最初にコミットしてから、コミットハッシュをファイルに保存しているように見えます。そのファイルをコミット自体に含めたくない場合(コミット内のツリーが変更されるため機能しません)、それは完全に可能です。

現在のHEADのハッシュを取得する簡単なコマンド、つまり、作成したばかりのコミットを指すポインターは次のとおりです。

git rev-parse HEAD

理想的には、どのコミットバージョンが私が見ているファイルであるかを知るための防弾方法です。

おそらく必要なのは、Subversionのようなものです$Revision: X$。しかし、上記の理由により、これは不可能です。あなたができることは、チェックアウト時にそのような操作を実行するクリーン/スマッジフィルターを提供することですが、私はそれをお勧めしません。

もう1つの方法は、実際にblobidに展開されるidentファイルの属性を使用することです。ただし、コミットIDではありません。この質問も参照してください。$Id$

于 2012-11-26T17:54:09.190 に答える
0

Gitのコミット後フックの使用を検討するかもしれませんが、他の人が上で述べたように、コミットハッシュは別のファイルに保存する必要があります。

于 2012-11-26T20:45:49.923 に答える