在使用git commit命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠端伺服器上對應的分支了,如果不清楚版本庫的構成,可以檢視我的另一篇,git 倉庫的基本結構。
git push的一般形式為 git push 《遠端主機名》 《本地分支名》 《遠端分支名》 ,例如 git push origin master:refs/for/master ,即是將本地的master分支推送到遠端主機origin上的對應master分支, origin 是遠端主機名,
第乙個master是本地分支名,第二個master是遠端分支名。
如果遠端分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建
如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送乙個空的本地分支到遠端分支,等同於git push origin --delete master
如果當前分支與遠端分支存在追蹤關係,則本地分支和遠端分支都可以省略,將當前分支推送到origin主機的對應分支
如果當前分支只有乙個遠端分支,那麼主機名都可以省略,形如 git push,可以使用git branch -r ,檢視遠端的分支名
這幾個常見的用法已足以滿足我們日常開發的使用了,還有幾個擴充套件的用法,如下:
(1)git push -u origin master
如果當前分支與多個主機存在追蹤關係,則可以使用 -u 引數指定乙個預設主機,這樣後面就可以不加任何引數使用git push,
不帶任何引數的git push,預設只推送當前分支,這叫做******方式,還有一種matching方式,會推送所有有對應的遠端分支的本地分支, git 2.0之前預設使用matching,現在改為******方式
如果想更改設定,可以使用git config命令。git config --global push.default matching or git config --global push.default ******;可以使用git config -l 檢視配置
(2)git push --all origin
當遇到這種情況就是不管是否存在對應的遠端分支,將本地的所有分支都推送到遠端主機,這時需要 -all 選項
(3)git push --force origin
git push的時候需要本地先git pull更新到跟伺服器版本一致,如果本地版本庫比遠端伺服器上的低,那麼一般會提示你git pull更新,如果一定要提交,那麼可以使用這個命令。
(4)git push origin --tags
//git push 的時候不會推送分支,如果一定要推送標籤的話那麼可以使用這個命令
// refs/for 的意義在於我們提交**到伺服器之後是需要經過code review 之後才能進行merge的,而refs/heads 不需要
**:
Git push 常用命令
這個是push的完整寫法,將本地分支上傳到遠端分支,例如 git push origin dev dev如果省略了 遠端主機分支名 即 git push dev則git會push到遠端分支的同名本地分支,即和 git push dev dev等價。如果遠端分支dev不存在則會建立dev分支。如果省略...
Git 常用命令 git push命令
git push的一般形式為git push 遠端主機名 本地分支名 遠端分支名 例如 git push origin master refs for master 即是將本地的master分支推送到遠端主機origin上的對應master分支。origin 是遠端主機名,第乙個master是本地分...
git常用命令之git push使用說明
git push命令用於將本地分支的更新,推送到遠端主機。它的格式與git pull命令相仿。git push 遠端主機名 本地分支名 遠端分支名 注意,分支推送順序的寫法是 地 目的地 所以git pull是 遠端分支 本地分支 而git push是 本地分支 遠端分支 如果省略遠端分支名,則表示...