为什么我需要执行Git远程更新来推送和拉取我的更改?

时间:2014-05-02 22:28:37

标签: git

我最近开始了一个新项目,并在我的笔记本电脑上花了一天时间在图书馆编程,晚上我在家里使用我的桌面。我决定试试Git,但没有看到需要在公共服务器上托管它,所以我决定去google驱动器路线并跟着these instructions。一旦我的笔记本电脑和台式机都安装完毕,我就开始使用我的笔记本电脑了,当我完成后,我做了git添加,提交和推送,并看到我的谷歌硬盘同步完成。当我回到家时,我看到谷歌驱动器同步,我尝试做一个git拉,但它一直说它已经是最新的。我删除了repo并重复了整个过程几次并且无法使其工作并且还继续运行此消息“当前分支没有跟踪信息。请指定要与哪个分支合并”。我没有其他分支机构,我只想对我正在使用的任何机器进行更改,提交并推送这些更改,然后跳转到我的其他计算机上并进行更改,以便我可以继续工作。无奈之下,我只想删除我的本地克隆并重新克隆和预先,一切都在那里。我重新阅读了Git书,但没有找到任何我可以使用的书。最后我偶然发现有人对某个文章的某些文章发表评论说要尝试“git远程更新”以使其工作,如果你无法获得最新的更改,那么我尝试了然后尝试拉动但没有任何反应。我花了几天时间挣扎了几天,删除并重新创建了回购并尝试了各种各样的事情,直到最后我做了一些工作。当我回头看看我做了什么时,我看到我必须在推送后进行“git远程更新”,一旦我回到桌面,我就得做一个“git远程更新”< em>之前我做了拉。这在任何地方都没有提到,到目前为止我读过的所有git文档看起来都像是一个推动和拉动一样简单;没有提到任何“git远程更新”。谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

  

我可以想象很多方法会如何以完全混乱的方式结束,所以我强烈反对这种共享存储库的方式。把它放在GitHub或Bitbucket上。

如果您使用Google云端硬盘将您的存储库保存在多个位置,则不会执行git pullgit fetchgit push 。< / p>

您在Google云端硬盘中拥有的存储库是您同步的每台计算机上的本地存储库,用于所有意图和目的(假设您将已检出的工作副本放入Google云端硬盘中)孔)。

每个存储库操作都将逐字反映在您同步Google云端硬盘目录的所有计算机上。没有&#34;遥控器&#34;和没有任何Git操作处理&#34;遥控器&#34;适用于您的情况

更新澄清:我上面所说的内容不适用于您引用的博客帖子,因为他们建议您创建裸存储库,然后通过谷歌硬盘(这也是一个坏主意,请阅读下文)。

如果您放置一个&#34;裸存储库&#34;在Google云端硬盘上(不包括签出版本或工作副本),您必须在同步到的每台计算机上克隆裸存储库,然后是本地版本的裸机存储库是远程的(在这种情况下,您将使用&#34;远程&#34;操作,但它们都将使用共享裸存储库的本地副本。)

每台机器都有自己的本地版本共享遥控器; Google云端硬盘仅确保在机器上反映这一点。