在我将要讲解的Git教程中,Git提交用于存储您所做的更改。

git push是用来做什么的?


当前回答

提交更改时,将更改保存为本地存储库中的单个逻辑集。你可以多次这样做而不用推。在它们被推送之前,它们不会离开您的本地存储库,这意味着远程存储库还没有这些更改集,因此当其他人从远程存储库中进行拉取时,您的提交不会被拉取。

当您推送时,您在本地存储库中所做的所有提交将被传输到远程存储库,因此当共享此远程存储库的其他开发人员进行拉取时,他们将把您的更改传输到他们的本地存储库。 查看Git命令和备忘单。

其他回答

基本上,git提交“将更改记录到存储库”,而git推送“更新远程引用和相关对象”。因此,第一个用于连接本地存储库,而后一个用于与远程存储库交互。

下面是Oliver Steele的一张漂亮的图片,解释了Git模型和命令:

阅读更多关于git push和git pull的内容:push和pull(我首先提到的文章)。

Git提交只是正式保存我们的更改。对于每次提交,我们都会给出commit消息 一旦我们完成了提交,我们可以将它推到远程,以全局查看我们的更改。

这意味着我们可以在推送到远程之前进行多次提交(我们可以看到发生的提交列表和消息)。 Git用提交id保存每次提交,这是一个40位的代码。

只有当我想在远程查看我的更改时,我才使用Git push(之后我会检查我的代码是否在Jenkins中工作)。

Git提交是提交在本地存储库中暂存的文件。Git push是快进合并本地的主分支和远程的主分支。但合并并不总能成功。如果出现拒绝,您必须拉,以便您可以成功地进行git推送。

一个非常粗略的类比:如果我们比较git commit是保存一个编辑过的文件,那么git push是将该文件复制到另一个位置。

请不要把这个类比放在这个上下文之外——提交和推送不太像保存编辑过的文件并复制它。也就是说,为了比较起见,它应该成立。

由于Git是一个分布式版本控制系统,不同之处在于commit会将更改提交到本地存储库,而push会将更改提交到远程存储库。