在我将要讲解的Git教程中,Git提交用于存储您所做的更改。
git push是用来做什么的?
在我将要讲解的Git教程中,Git提交用于存储您所做的更改。
git push是用来做什么的?
当前回答
提交:向本地存储库添加更改
Push:将最后一次提交转移到远程服务器
其他回答
提交:快照|变更集|版本|历史记录|存储库“另存为”。Git仓库=一系列的提交(树)。
本地存储库:计算机上的存储库。
远程存储库:服务器上的存储库(GitHub)。
git commit:追加一个新的提交(最后一次提交+阶段性修改)到本地存储库。(提交文件存储在/.git文件夹中。)
git push, git pull:同步本地存储库和其关联的远程存储库。推—从本地应用更改到远程,拉—从远程应用更改到本地。
Git提交将您的更改记录到本地存储库。
Git用本地更改推送更新远程存储库。
由于Git是一个分布式版本控制系统,不同之处在于commit会将更改提交到本地存储库,而push会将更改提交到远程存储库。
基本上,Git commit会把你的更改放到本地存储库中,而Git push会把你的更改发送到远程位置。
如果您想象在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推送时,才能将所有这些记录的更改以及每次提交的索引文件记录到主存储库(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)。