我今天偶然发现了一些奇怪的事情。我在暑期工作时请一位同事帮我为我的代码设置一个新的远程 git 仓库,关于他做了什么和我想做什么有很多困惑。我让他发送他的配置,以便能够看到他的 Remote 的路径,但发现他没有 Remote 。当我问他这个问题时,他这样解释他的工作流程:
- 在本地改变一些东西
- promise
- 移动到远程目录
- git pull c:\localdir
因此,他没有推送到远程,而是不断地从他的本地仓库 pull 到我们服务器上的仓库。有点倒退。当我就此与他对质时,他问我有什么区别,我无法真正回答他,但我认为有些事情是对的?
所以我想问大家的问题是:推送到远程和从远程 pull 有什么区别?
最佳答案
推送到远程:将您必须的一些提交发送到另一个 git 仓库。 git repo 被认为是“远程的”,但它可以是硬盘驱动器另一个文件夹中的 repo。 从远程 pull :从远程仓库获取一些提交并将它们 merge 到您当前的 HEAD(您当前对仓库的 checkout )
您的同事可能使用 pull 而不是推送,因为您的存储库可能不可用(没有运行 git 守护程序,或没有运行 gitweb 或 ssh 服务器),但他可以从您的计算机上使用。由于它是服务器,他可能不想公开可能成为攻击媒介的 git 守护进程/服务。
但是如果你的存储库是共享的/可用的,他就可以做到:
- 在本地改变一些东西
- promise
- 推送到你的仓库
关于git - git push 和 git pull 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240715/