區別:1、“git commit”命令是將本地修改過的文件提交到本地庫中,而“git push”命令是將本地庫中的最新信息發送給遠端庫;2、“ git commit」指令操作的是本機函式庫,而「git push」指令操作的是遠端函式庫。
本教學操作環境:Windows7系統、Git2.30.0版、Dell G3電腦。
「git commit」和「git push」的差異
git commit
是"記錄對儲存庫的更改",是將本地修改過的檔案提交到本地庫中;而git push
是"更新遠端引用和相關物件",是將本地庫中的最新資訊傳送給遠端程式庫。
因此,git commit
用於連接本地儲存庫,操作的是本地庫;而git push
用於與遠端儲存庫交互,操作的是遠端庫。
下面是奧利佛史蒂爾的一張很好的圖片,它解釋了Git模型和命令:
<span style="font-size: 18px;"> <strong>Git commit</strong></span>
git commit
主要是將暫存區裡的改動給提交到本機的版本庫。每次使用git commit 指令我們都會在本機版本庫產生一個40位元的雜湊值,這個雜湊值也叫commit-id,
commit-id 在版本回退的時候是非常有用的,它相當於一個快照,可以在未來的任何時候通過與git reset的組合命令回到這裡.
#1、git commit -m 'message'
-m 參數表示可以直接輸入後面的“message”,如果不加-m參數,那麼是不能直接輸入message的,而是會調用一個編輯器一般是vim來讓你輸入這個message,
message即是我們用來簡單說明這次提交的語句。
2、git commit -am 'message' -am
等同於-a -m
-a參數可以將所有已追蹤檔案中的執行修改或刪除操作的文件都提交到本地倉庫,即使它們沒有經過git add添加到暫存區,
注意: 新加的文件(即沒有被git系統管理的文件)是不能被提交到本地倉庫的。
<span style="font-size: 18px;"><strong>Git push</strong></span>
#在使用git commit
指令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠端伺服器上對應的分支了,如果不清楚版本庫的構成,可以查看我的另一篇,git 倉庫的基本結構。
git push
的一般形式為git push
,例如git push origin master:refs/for/master
,也就是將本機的master分支推送到遠端主機origin上的對應master分支, origin 是遠端主機名稱。第一個master是本機分支名,第二個master是遠端分支名。
1、git push origin master
如果遠端分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建
2、git push origin :refs/for/master
如果省略本機分支名,則表示刪除指定的遠端分支,因為這等同於推送空的本地分支到遠端分支,等同於git push origin –delete master
3、git push origin
#如果目前分支與遠端分支存在追蹤關係,則本地分支和遠端分支都可以省略,將目前分支推送到origin主機的對應分支
4、git push
如果目前分支只有一個遠端分支,那麼主機名稱都可以省略,形如git push,可以使用git branch -r ,查看遠端的分支名稱
推薦學習:《Git教程》
以上是git下commit和push的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!