Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不使用Git本身的情况下,如何从代码中找到当前Git分支名称。git/HEAD文件?_Git - Fatal编程技术网

在不使用Git本身的情况下,如何从代码中找到当前Git分支名称。git/HEAD文件?

在不使用Git本身的情况下,如何从代码中找到当前Git分支名称。git/HEAD文件?,git,Git,我正在编写一些jazzy代码,需要通过编程确定当前的分支名称。我不想依赖任何git可执行文件,我只想查看.git目录 我可以检查.git/HEAD文件吗?假设您的git存储库始终位于分支上,并且从未签出特定的SHA,可以。可以使用.git/HEAD文件。Mine说rel-8.0是当前的分支: $ cat .git/HEAD ref: refs/heads/rel-8.0 如果我签出一个标记,它只会给我哈希值: $ git checkout 7.5 $ cat .git/HEAD 2a6a92d

我正在编写一些jazzy代码,需要通过编程确定当前的分支名称。我不想依赖任何git可执行文件,我只想查看.git目录


我可以检查.git/HEAD文件吗?

假设您的git存储库始终位于分支上,并且从未签出特定的SHA,可以。

可以使用.git/HEAD文件。Mine说rel-8.0是当前的分支:

$ cat .git/HEAD
ref: refs/heads/rel-8.0
如果我签出一个标记,它只会给我哈希值:

$ git checkout 7.5
$ cat .git/HEAD
2a6a92d1a34af5cf229097cac63ae5b3ea0c3747

使用git可执行文件有什么问题?git工具是专门为您处理这类事情而编写的。不使用提供的工具实际上意味着重新实现它们。(就个人而言,我不喜欢重新发明车轮)