什么是无名头和当我在git中配置从*拉取*时它们是如何发生的?

5 浏览
0 Comments

什么是无名头和当我在git中配置从*拉取*时它们是如何发生的?

我尝试将GitHub中的一个远程分支导入到我的Eclipse中,最终在Eclipse中使用了"从上游配置获取"选项,并在本地和远程分支名称字段中设置了"*"作为值。

如预期,它将所有远程分支以及一堆带有数字编号的分支头(例如origin/refs/pull/1/head)拉入了我的本地仓库远程跟踪部分。

总共大约有30个这样的分支,包含较早的提交。

在我的GitHub仓库中没有看到这些分支。

能否帮我理解一下这些远程分支是什么?

0
0 Comments

问题是关于在配置git中从*拉取*时,为什么会出现无法命名的引用头,并提供了解决方法。

在git中,refs/pull/x是指拉取请求。如果您想要在本地检出拉取请求,可以参考GitHub页面上的"Checking out pull requests locally"。

解决方法是使用以下命令:

git fetch origin pull/ID/head:BRANCHNAME
git checkout BRANCHNAME

当您尝试将提交推送到refs/pull/命名空间时,您会遇到以下错误信息:

! [remote rejected] HEAD -> refs/pull/1/head (deny updating a hidden ref)

error: failed to push some refs to 'git.local:USERNAME/REPOSITORY.git'

0