“git commit”和 “git push” 之间有什么区别?

在我正在学习的 Git 教程中, git commit用于存储您所做的更改。

git push什么用?

答案

基本上git commit将更改记录记录到存储库 ”,而git push “会更新远程引用以及相关对象 ”。因此,第一个用于与本地存储库关联,而第二个则用于与远程存储库进行交互。

这是Oliver Steele的漂亮图片,解释了 git 模型和命令:

Git数据传输命令

GitReady.com上了解有关git pushgit pull更多信息(我首先提到的文章)

commit :将更改添加到本地存储库

push :将最后的提交传输到远程服务器

好吧,基本上 git commit 会将您的更改放入本地存储库,而 git push 将您的更改发送到远程位置。

由于 git 是分布式版本控制系统,因此区别在于 commit 会将更改提交到本地存储库,而 push 会将更改推到远程存储库。

git push用于将您在本地存储库中所做的提交添加到远程提交中 - 与git pull一起使用,它允许人们进行协作。

提交快照 | 变更集 | 历史记录 | 版本 |存储库的“另存为” 。 Git 仓库 = 提交系列(树)。

本地存储库:计算机上的存储库。

远程存储库:服务器上的存储库( Github )。

git commit :向本地存储库追加一个新的提交 (最后一次提交 + 分阶段的修改)。 (所有提交都存储在/.git

git pushgit pull :将本地存储库与其关联的远程存储库同步。 push - 应用来自本地更改为远程pull - 从远程应用更改到本地

git commit记录您对本地存储库的更改。

git push使用本地更改更新 远程存储库。

需要注意的三件事:

1) 工作目录 ----- 存放我们代码文件的文件夹

2) 本地存储库 ------ 这在我们的系统内部。当我们第一次执行 COMMIT 命令时,将创建此本地存储库。在我们的工作目录所在的位置,
Checkit(.git)文件被创建。
之后,一旦我们提交,它将把我们在工作目录文件中所做的更改存储到本地存储库(.git)

3) 远程存储库 ----- 它位于我们系统的外部,就像在世界上任何地方的服务器上一样。像 github。当我们执行 PUSH 命令时,本地存储库中的代码将存储到此远程存储库中

git push  <REMOTENAME> <BRANCHNAME> 
git push  origin       master

一个非常粗略的类比:如果我们将git commit与保存已编辑的文件进行比较,则git push将把该文件复制到另一个位置。

请不要在这种情况下使用此类比喻 - 提交和推送与保存已编辑的文件并复制它完全不同。就是说,为了比较起见,应该保留它。