Gitでは、現在のリビジョンが何であるかをどのようにして把握できますか?


167

現在のバージョン番号を知りたいだけです。


今後のgitコマンドで使用するために現在のリビジョンを取得する方法を探していたときに、この質問を見つけました。しかし、答えを読んだとき、私はそれを理解しましたHEAD
Antoine Pinsard 2017年

回答:


228

「バージョン番号」とはどういう意味ですか?コミットにバージョン番号をタグ付けして使用するのはよくあることです

$ git describe --tags

現在のHEADをタグと識別するため。現在のHEADのハッシュを知りたい場合は、おそらく次のようにします。

$ git rev-parse HEAD

または短いリビジョンハッシュの場合:

$ git rev-parse --short HEAD

多くの場合、これで十分です。

$ cat .git/refs/heads/${branch-master}

しかし、refがパックされている可能性があるため、これは信頼できません。


8
refはにパックされている可能性がある.git/packed-refsため、直接アクセスすることはおそらく避けてください.git/refs/。使用するだけですgit rev-parse master(またはgit rev-parse refs/heads/master完全に明確にする必要がある場合)。
Chris Johnsen、2011

108

git log -1最も簡単で最も一般的な方法はたくさんあると思います


1
ファイルを以前のバージョンにするにはどうすればよいですか?
TIMEX、2011

1
git checkout HEAD ^-ファイル名
manojldsが2011

2
ところで、これは現在のリビジョンだけではなく、多くのことを与えるので、結果的に解析する必要があります(したがって、最良/最も簡単/一般的なソリューションではありません、imho)
RAM237

36

これにより、リビジョンのみが提供されます。

git rev-parse HEAD

これは実装に依存しないため、これが最良の答えだと思います。ウィリアムの回答「cat .git / refs / heads / master」は同じ値を提供しますが、実装が変更された場合に将来的に機能するという保証はありません。
Thagomizer

これは最良の答えです。この--shortオプションについて簡単に説明すれば、完璧になります。
ボビージャック

15

これにより、ハッシュの最初の数桁が得られます。これらは、バージョン番号として使用するのに十分一意です。

git rev-parse --short HEAD


0

以下は、HEADだけでなく、以前にプッシュされたリビジョンでも機能します

省略されたリビジョンハッシュの場合:

git log -1 --pretty=format:%h

長いリビジョンハッシュの場合:

git log -1 --pretty=format:%H
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.