我只是设置了gitlab和将我的一些代码推送到一个新项目上。我所做的是:
将我的所有代码保存在目录中
git init
git commit -m“初始提交”
git push origin master
在哪里设置了origin:
git remote add origin git@1.2.3.4:myproject.git
现在当我执行git branch -a时,我看到:
* master
remotes/origin/master
以前我玩耍的时候,总是看到:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
我了解head是当前已签出分支的指针,因此它不应该存在于原点上吗?为什么不创建它?
#1 楼
不必为此远程HEAD
担心。这行只是原始克隆工作方式的产物,代表远程HEAD
的状态。它可以被视为服务器首选的默认分支(即使在远程裸仓库中)-它会如果未使用
git clone
选项,则默认情况下由客户端-b branch
检出。您的本地文件
.git/refs/remotes/origin/HEAD
现在可能包含字符串ref: refs/remotes/origin/master
。如果需要,可以将其删除(请注意,我不建议您这样做),并且git branch -a
将不再显示它。远程HEAD
的状态永远不会重要。您只需要担心真正的远程分支的状态,而不必担心远程HEAD
,因为它仅对于将远程状态作为其默认选定分支有意义。而且如果remote是裸仓库,那么即使在remote上也没有多大意义。不必决定默认使用哪个默认远程分支。#2 楼
您可以通过命令q4312079q进行设置,该命令会自动将origin / HEAD设置为指向相应的远程分支。或使用git remote set-head origin -a
指定要指向的远程分支。另请参见:https://stackoverflow.com/a/8841024/1851492
#3 楼
我用这种方式解决了我的问题先删除
.git
文件夹中的索引文件。然后打开终端并键入
git reset