私はプログラム的に現在のブランチ名を決定する必要があるジャジーなコードを書いています。私はgitの実行ファイルに依存したくないので、.gitディレクトリを調べたいだけです。git自体を使わずに、コードから現在のGitブランチ名を調べるにはどうしたらいいですか? .git/HEADファイル?
.git/HEADファイルを検査することはできますか?
私はプログラム的に現在のブランチ名を決定する必要があるジャジーなコードを書いています。私はgitの実行ファイルに依存したくないので、.gitディレクトリを調べたいだけです。git自体を使わずに、コードから現在のGitブランチ名を調べるにはどうしたらいいですか? .git/HEADファイル?
.git/HEADファイルを検査することはできますか?
gitリポジトリが常にブランチにあり、特定のSHAをチェックアウトしていないと仮定すると、yesです。
はい.git/HEADファイルを使用できます。
$ cat .git/HEAD
ref: refs/heads/rel-8.0
私はタグをチェックアウトした場合、それはちょうど私のハッシュを与える::鉱山は、REL-8.0は、現在のブランチであると述べている
$ git checkout 7.5
$ cat .git/HEAD
2a6a92d1a34af5cf229097cac63ae5b3ea0c3747
Gitの実行可能ファイルを使用しての問題点は何ですか? gitのツールは、あなたのためにこれらの種類のものを処理するために具体的に書かれています。付属のツールを使用しないということは、実際にそれらを再実装することを意味します。 (個人的に、私は車輪に再発明したくない) –