0

据我从这个 git 教程中了解到,我们需要执行四个步骤来更改中央存储库:

  1. 编辑本地存储库中的文件。
  2. 用于git add将这些更改的一部分添加到staging area.
  3. 用于git commit将暂存区添加到local project history.
  4. 用于got push将本地更改上传到中央存储库。

从理论上讲,我们可能希望分两步完成:

  1. 编辑文件。
  2. 将更改提交到中央存储库。

我理解为什么它可能不是最优的。两步法不允许我们将本地更改拆分到不同的逻辑组中。我们可能希望使用不同的评论分别提交不同的更改。因此,这就是为什么我们使用git add将一组(或部分)更改放到staging area. 但是我们有三个(不是四个)步骤。

所以,其实我不明白为什么除了git commit我们还需要git push. 为什么我们想要两步而不是一步?

4

1 回答 1

3

如果我正确理解了您的问题,您想知道为什么本地提交不会自动推送到远程存储库。有很多原因,例如:

  • 开发人员可能希望将正在开发的功能严格保留给他们自己,然后将他们的本地提交压缩到一个/否则重构提交历史,然后再推送到远程以供其他人查看

  • 您可能已经分叉了其他人的存储库,但不想为该存储库做出贡献,只是偶尔从上游拉取最新更改,将本地更改保留给自己

  • 您可能希望离线工作并偶尔提交,例如在旅行时

本质部分是,Git 是去中心(或分布式)版本控制。

于 2013-06-20T09:50:03.003 回答