使用git commit將修改從暫存區提交到本地版本庫後,還需要將本地版本庫的分支推送到遠端伺服器上對應的分支。
git push的一般形式為 git push 《遠端主機名》 《本地分支名》 《遠端分支名》,例如 git push origin head:refs/for/master,即將本地的head分支推送到遠端主機origin上的對應master分支,origin是遠端主機名。
其中head是乙個指標,指向我正在工作中的本地分支。
1.1 git push origin master
如果遠端分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建。
1.2 git push origin : refs/for/master
如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送乙個空的本地分支到遠端分支,等同於 git push origin --delete master
**1.3 git push origin **
如果當前分支與遠端分支存在追蹤關係,則本地分支和遠端分支都可以省略,將當前分支推送到origin主機的對應分支。
1.4 git push
如果當前分支只有乙個遠端分支,那麼主機名都可以省略,可以使用git branch -r,檢視遠端分支。
1.5 git push的其他命令
上面幾個常見的用法已經可以滿足日常開發的使用,還有幾個擴充套件用法如下:
git push -u origin master 如果當前分支與多個主機存在追蹤關係,則可以使用-u引數指定乙個預設主機,這樣後面就可以不加任何引數使用git push,不帶任何引數的git push,預設只推送當前分支,這叫做******方式,還有一種matching方式,會推送所有有對應的遠端分支的本地分支,git 2.0之前預設使用matching,現在改為******方式。如果想更改設定,可以使用git config命令,可以使用git config -i檢視配置。
git push --all origin 該指令表示不管是否存在對應的遠端分支,將本地的所有分支都推送到遠端主機。
git push --force origin ,git push的時候通常需要本地先git pull更新到跟伺服器版本一致,如果本地版本庫比遠端伺服器上的低,那麼一般會提示你git pull更新,如果一定要提交,那麼可以使用這個命令(非常不推薦使用這個指令,使用不當可能會造成資料的丟失錯亂)。
git push origin --tags,該命令表示git push 的時候不會推送分支,如果一定要推送標籤的話可以使用這個命令
1.6 關於refs/for
refs/for的意義在於我們提交**到伺服器後還需要經過code review才能merge,而refs/heads不需要。
Git push 常見用法
git push 在使用git commit命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠端伺服器上對應的分支了,如果不清楚版本庫的構成,可以檢視我的另一篇,git 倉庫的基本結構。git push的一般形式為 git push 遠端主機名 本地分支名 遠端分支名 例...
Git push 常見用法
git push 在使用git commit命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠端伺服器上對應的分支了,如果不清楚版本庫的構成,可以檢視我的另一篇,git 倉庫的基本結構。git push的一般形式為 git push 遠端主機名 本地分支名 遠端分支名 例...
Git push 常見用法
參考 git push 常見用法 git push命令用於將本地分支的更新,推送到遠端主機。git push的一般形式為 git push 遠端主機名 本地分支名 遠端分支名 git push remote host local branch name remote branch name 注意 1...