git - git push 和 git pull 有什么区别?

标签 git workflow repository

我今天偶然发现了一些奇怪的事情。我在暑期工作时请一位同事帮我为我的代码设置一个新的远程 git 仓库,关于他做了什么和我想做什么有很多困惑。我让他发送他的配置,以便能够看到他的 Remote 的路径,但发现他没有 Remote 。当我问他这个问题时,他这样解释他的工作流程:

  1. 在本地改变一些东西
  2. promise
  3. 移动到远程目录
  4. git pull c:\localdir

因此,他没有推送到远程,而是不断地从他的本地仓库 pull 到我们服务器上的仓库。有点倒退。当我就此与他对质时,他问我有什么区别,我无法真正回答他,但我认为有些事情是对的?

所以我想问大家的问题是:推送到远程和从远程 pull 有什么区别?

最佳答案

推送到远程:将您必须的一些提交发送到另一个 git 仓库。 git repo 被认为是“远程的”,但它可以是硬盘驱动器另一个文件夹中的 repo。 从远程 pull :从远程仓库获取一些提交并将它们 merge 到您当前的 HEAD(您当前对仓库的 checkout )

您的同事可能使用 pull 而不是推送,因为您的存储库可能不可用(没有运行 git 守护程序,或没有运行 gitweb 或 ssh 服务器),但他可以从您的计算机上使用。由于它是服务器,他可能不想公开可能成为攻击媒介的 git 守护进程/服务。

但是如果你的存储库是共享的/可用的,他就可以做到:

  1. 在本地改变一些东西
  2. promise
  3. 推送到你的仓库

关于git - git push 和 git pull 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240715/

相关文章:

git - 典型的单分支 git 工作流程

git - 将 Gitflow 与 pull 请求一起使用的正确方法

java - 编排引擎和框架?

f# - F# 中是否有标准选项工作流?

hibernate - 在具有许多属性的 Spring Data JPA 中过滤结果的最佳解决方案是什么?

git - 在提交之前运行脚本并将更新包含在此提交中?

git - 如何在 git-gui 中设置所需的语言?

git 和 svn externals - 最终的解决方案了吗?

Git 推送导致 fatal error : protocol error: bad line length character: This

reactjs - 世博会初始化不需要的 git repo