“ git commit”和“ git push”之间有什么区别?
在我正在学习的Git教程中, git commit用于存储您所做的更改。git push什么用?
在我正在学习的Git教程中, git commit
用于存储您所做的更改。
git push
什么用?
#1楼
git commit
记录您对本地存储库的更改。
git push
使用本地更改更新 远程存储库。
#2楼
git commit
是提交在本地存储库中暂存的文件。 git push
是将本地端的master分支与远程master分支快速合并。 但是合并并不会总是成功。 如果出现拒绝,则必须进行pull
才能成功进行git push
。
#3楼
基本上git commit
“ 记录对存储库的更改 ”,而git push
“ 与关联对象一起更新远程引用 ”。 因此,第一个用于与本地存储库关联,而第二个则用于与远程存储库进行交互。
这是Oliver Steele的漂亮图片,解释了git模型和命令:
在GitReady.com上了解有关git push
和git pull
更多信息(我首先提到的文章)
#4楼
git push
用于将您在本地存储库中所做的提交添加到远程提交-与git pull
一起使用,它允许人们进行协作。
#5楼
commit :将更改添加到本地存储库
push :将最后的提交传输到远程服务器
#6楼
由于git是一个分布式版本控制系统,因此区别在于commit会将更改提交到本地存储库,而push会将更改推到远程存储库。
#7楼
好吧,基本上git commit会将您的更改放入本地存储库,而git push将您的更改发送到远程位置。
#8楼
好吧,基本上git commit会将您的更改放入本地存储库,而git push将您的更改发送到远程位置。 由于git是一个分布式版本控制系统,因此区别在于commit会将更改提交到本地存储库,而push会将更改推到远程存储库
Google Google
http://gitref.org/basic/此链接也将非常有用
https://git-scm.com/docs/git-commit
#9楼
提交 : 快照| 变更集| 历史记录| 版本| 存储库的“另存为” 。 Git仓库= 提交系列(树)。
本地存储库:计算机上的存储库。
远程存储库:服务器上的存储库( Github )。
git commit
:向本地存储库追加一个新的提交 (最后一次提交 + 分阶段的修改)。 (所有提交都存储在/.git
)
git push
, git pull
:将本地存储库与其关联的远程存储库同步。 push
-应用来自本地更改为远程 , pull
-从远程应用更改到本地 。
#10楼
一个非常粗略的类比:如果我们将git commit
与保存已编辑的文件进行比较,则git push
将把该文件复制到另一个位置。
请不要在这种情况下使用此类比喻-提交和推送与保存已编辑文件并复制它完全不同。 就是说,它应该仅出于比较目的。
#11楼
只想添加以下几点:
除非您提交,否则Yon无法推送,因为我们使用git push
将在本地分支上所做的提交git push
送到远程存储库。
git push
命令采用两个参数:
远程名称,例如origin
分支名称,例如master
例如:
git push <REMOTENAME> <BRANCHNAME>
git push origin master
#12楼
用外行术语来说, git commit
是在git push
之前git push
顺序运行它们以将文件成功git到github的步骤。
#13楼
git commit只不过是正式保存更改,对于提交的每条提交消息,一旦完成提交,我们便可以将其推送到远程以全局查看更改
这意味着我们可以在推送到远程之前进行多次提交(我们可以看到发生的提交列表和消息)。git使用提交ID(40位代码)保存每个提交
并且仅当我想查看远程更改时才使用git push(之后,我将检查我的代码是否在jenkins中有效)
#14楼
如果您想在Github上的存储库中维护日志文件,则更容易理解git命令add
和commit
的用法。 对我而言,典型项目的日志文件可能如下所示:
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
我通常以git pull
请求开始我的一天,以git push
请求结束一天。 因此,一天记录中的所有内容都与它们之间发生的情况相对应。 在每一天中,我要完成一个或多个逻辑任务 ,这些任务需要更改一些文件。 在该任务期间编辑的文件在索引中列出。
这些子任务(此处为任务A和任务B)中的每一个都是单独的提交。 git add
命令将文件添加到“文件更改索引”列表中。 此过程也称为暂存,实际上记录更改的文件和执行的更改。 git commit
命令记录/完成更改和相应的索引列表以及自定义消息,可用于以后的参考。
请记住,您仍然只更改存储库的本地副本,而不更改Github上的副本。 之后,只有当您执行git push
,所有这些记录的更改以及每次提交的索引文件才会记录在主存储库(位于Github上)上。
例如,要获得该假想日志文件中的第二个条目,我将完成以下操作:
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
简而言之,使用git add
和git commit
可以将对主存储库的更改分解为系统的逻辑子更改。 正如其他答案和评论所指出的那样,它们当然还有许多其他用途。 但是,这是最常见的用法之一,也是Git背后的驱动原理,它是一个多级修订控制系统,不同于其他流行的Svn。
#15楼
需要注意的三件事:
1) 工作目录 -----包含我们的代码文件的文件夹
2) 本地存储库 ------这在我们的系统内部。 当我们第一次执行COMMIT命令时,将创建此本地存储库。 在我们的工作目录所在的位置,
Checkit(.git)文件被创建。
之后,一旦我们提交,它将把我们在工作目录文件中所做的更改存储到本地存储库(.git)
3) 远程存储库 -----它位于我们系统的外部,就像在世界上任何地方的服务器上一样。 像github。 当我们执行PUSH命令时,本地存储库中的代码将存储到此远程存储库中
#16楼
推送 :将分支以及必要的提交和对象推送到远程。 如果远程仓库中不存在命名分支,则创建该分支。
提交 :记录对本地存储库所做的更改,提交暂存的快照。 它跟踪每次提交之间所做的更改。
提交更改时,会将更改保存为本地存储库中的单个逻辑集。 您可以多次执行此操作而无需推动。 在推送它们之前,它们不会离开您的本地存储库,这意味着远程存储库还没有这些更改集,因此,当其他人从远程存储库中提取时,您的提交也不会被提取。
当您推送时 ,您在本地存储库中所做的所有提交都将被转移到远程存储库,因此,当共享此远程存储库的其他开发人员提取请求时,他们会将您的更改传输到本地存储库。
更多推荐
所有评论(0)