2

我拥有我的 git 存储库已经 1 年多了,我一直在推动它,一切都很好。

这是流程:(ssh 本地开发)-->(hostgator 上的 git repo)-->(hostgator 上由 http 克隆的客户端)

我做了很多提交并从我的本地开发人员推送到 git 存储库,有时当我认为该功能已完成时,我会通过发布标准来更新客户端git pull origin master

直到今天,我才注意到一个有趣的问题。问题是,即使我的本地开发人员提交了更改,当我拉入客户端时,它也不会更新任何内容。我做了一些测试发现了这种模式。

1) 通过 http clone: Igit clone http://.../project.git new_project_by_http和 did git log,它显示最新的提交是几天前的。

2) 通过 ssh 远程:我创建了一个新目录 (new_project_ssh) git init、 和git remote add origin ssh://..... 我做了一个git log本地开发人员的最新提交。

有谁知道为什么这两种方法有区别?我试过搜索这个问题,但没有得到任何运气。

4

1 回答 1

0

这两种协议之间没有区别:git pull带有 https 或 ssh 来源的协议会给您完全相同的结果。

唯一的区别在于本地客户端 repo 的当前状态:

  • 要么您在错误的分支上并且正在拉一个未更新的分支
  • 或者你根本不在分支上,这被称为分离的 HEAD:请参阅“为什么 git 分离了我的头? ”。
于 2013-06-02T20:43:06.327 回答