5

我是Git的新手,所以我怀疑我在这里误解了一些东西,但无论如何我都会问。

通过 TortoiseGit 我执行以下操作:

  • 在本地初始化一个新的 Git 存储库
  • 向其中添加自述文件并提交
  • 添加一个新的遥控器
  • 将新的 repo 推送到 orgin(远程)

如果我然后浏览参考文献,我会看到以下内容:
heads/master
remotes/origin/master

我觉得奇怪的是我在遥控器上没有看到 HEAD。

如果我删除我的本地仓库,然后从服务器克隆它(我只是推到上面),然后浏览我看到的参考资料:
headers/master
remotes/origin/HEAD
remotes/origin/master

那么为什么在初始推送后我看不到远程头呢?

注意。我已经通过 Git Bash 命令(即不是 Tortoise Git)做了同样的事情,并且看到了同样的事情。

4

2 回答 2

3

这是因为 HEAD 不是您也应该推送的远程引用,它只是对远程存储库的 HEAD 指向的提交的引用。服务器上的这个存储库显然有一个工作树,并且不是使用 git init --bare 命令创建的。我猜 Tortoise Git 只是忽略了它,因为软件中有一些规则。git 无法显示它听起来很奇怪。

于 2011-05-01T16:07:37.963 回答
0

这是因为你不拉你的存储库。当您推送时,您会更新 ref remote/origin/master,但不是 HEAD,因为它可以是其他提交。如果您在 HEAD 到达后拉动。

之后它会和你的克隆一起出现。从 HEAD 和 master 等远程获取所有 refs

于 2010-03-09T13:50:59.713 回答