Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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_Github_Git Commit - Fatal编程技术网

Git提交和引用头

Git提交和引用头,git,github,git-commit,Git,Github,Git Commit,存在git提交的引用头,这些引用头本身是独立的提交。例如,有两个提交,例如925ca878bc3c6c264ba5335b39be762a39e462ec和035d1c4e0d4be18bf8f4610072d1c4e0d4 当我执行一个git show ref--heads--tags时,我得到 925ca878bc3c6c264ba5335b39be762a39e462ec refs/heads/035d1c4e0d4be18bf8f46150072d1c4e0d4 1afff830dc0

存在git提交的引用头,这些引用头本身是独立的提交。例如,有两个提交,例如
925ca878bc3c6c264ba5335b39be762a39e462ec
035d1c4e0d4be18bf8f4610072d1c4e0d4

当我执行一个
git show ref--heads--tags时,我得到

925ca878bc3c6c264ba5335b39be762a39e462ec refs/heads/035d1c4e0d4be18bf8f46150072d1c4e0d4

1afff830dc0611c924d3bdaf490b0378dd4f2444 refs/heads/4d04fde758564386fb5d6922a1d4f01970e4e050

925ca878bc3c6c264ba5335b39be762a39e462ec refs/heads/af76057dea6c0f395fa2eada0e45dd8c01a4aea6
所以现在在
925ca878bc3c6c264ba5335b39be762a39e462ec
上签出后,如果我尝试签出
035D1C4E0D4BE18BF8F4610072D1C4E0D4
,我会得到

warning: refname '035d1c4e0d4be18bf8f46150072d1c4e0d4' is ambiguous.
在每次提交之前,我已经在使用两个命令
rm-f.git/index.lock
git branch-D$(git branch--merged | grep-v\*| xargs)
(理想情况下,它们应该处理分支问题)


有解决办法吗?我之前没有遇到过这个问题,所以我不确定到底发生了什么。

您的分支具有长的十六进制名称,这很奇怪。如果运行
git分支
,您应该会看到类似的内容

035d1c4e0d4be18bf8f46150072d1c4e0d4
4d04fde758564386fb5d6922a1d4f01970e4e050
af76057dea6c0f395fa2eada0e45dd8c01a4aea6
可能还有一个ID为
035D1C4E0D4BE18BF8F4610072D1C4E0D4
的提交

如果这是故意的,那就不是一个好主意,因为你刚刚发现了原因。如果必须这样做,请使用类似
branch/035d1c4e0d4be18bf8f4610072d1c4e0d4
的前缀消除分支名称的歧义

如果这是一个错误,那么您将以某种方式使用提交ID作为名称创建分支。您可能有向后的
git分支的语法。应该是这样的

git branch <name> <branch from>
有可能你在做什么

git branch 035d1c4e0d4be18bf8f46150072d1c4e0d4 035d1c4e0d4be18bf8f46150072d1c4e0d4
甚至只是

git branch <the current commit>

所以你的分支都有长而大的数字名称,就好像它们是散列值一样
035D1C4E0D4BE18BF8F4610072D1C4E0D4是分支的名称??为什么此sha1的大小不正确?
git branch <the current commit>
git branch $(git rev-parse HEAD)