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

git push是用来做什么的?


当前回答

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

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

其他回答

有三件事需要注意:

Working directory — folder where our code files are present Local repository — This is inside our system. When we do the commit command the first time, then this local repository is created in the same place where our working directory is. Checkit (.git) file get created. After that whenever we do commit, this will store the changes we make in the file of the working directory to the local repository (.git). Remote repository — This is situated outside our system like on servers located any where in the world, like GitHub. When we make a push command then code from our local repository gets stored at this remote repository.

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

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

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

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

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

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

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

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

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