一文掌握git?push命令
git push命令
以上列舉的參考文獻(xiàn)將的非常棒,是目前我見到的寫的最完整的。
git push命令用于將本地分支的更新,推送到遠(yuǎn)程主機(jī)。它的格式與git pull命令相仿。
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
注意:這里的:前后是必須沒(méi)有空格的。
如果省略遠(yuǎn)程分支名,則表示將本地分支推送與之存在"追蹤關(guān)系"的遠(yuǎn)程分支(通常兩者同名),如果該遠(yuǎn)程分支不存在,則會(huì)被新建。
git push origin master
上面命令表示,將本地的master分支推送到origin主機(jī)的master分支。如果后者不存在,則會(huì)被新建。
如果省略本地分支名,則表示刪除指定的遠(yuǎn)程分支,因?yàn)檫@等同于推送一個(gè)空的本地分支到遠(yuǎn)程分支。
#慎用!刪除遠(yuǎn)程倉(cāng)庫(kù)的分支 git push origin :master # 等同于 git push origin --delete master
上面命令表示刪除origin主機(jī)的master分支。
如果當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略。
git push origin
上面命令表示,將當(dāng)前分支推送到origin主機(jī)的對(duì)應(yīng)分支。
如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略。
git push
如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,則可以使用-u選項(xiàng)指定一個(gè)默認(rèn)主機(jī),這樣后面就可以不加任何參數(shù)使用git push。
git push -u origin master
上面命令將本地的master分支推送到origin主機(jī),同時(shí)指定origin為默認(rèn)主機(jī),后面就可以不加任何參數(shù)使用git push了。
參考文獻(xiàn):http://www.cnblogs.com/dyh-air/p/9257237.html
PS:git push 命令詳解
對(duì) git push 命令一直都是處于一知半解的狀態(tài),就知道它是將本地的更改推送到遠(yuǎn)程別名里面,
直到最近通過(guò)一寫練習(xí)才更加清晰了一點(diǎn)
git push 顧名思義就是將本地的更新推送到遠(yuǎn)程別名
它有幾個(gè)常見的選項(xiàng),接下來(lái)一一對(duì)它們講解
假如我們現(xiàn)在只有一個(gè)遠(yuǎn)程別名(remote): origin
1. 無(wú)參數(shù),直接 git push
git push 這種情況 git 會(huì)檢查當(dāng)前所在的分支有沒(méi)有設(shè)置 upstream branch, 也就是該分支對(duì)應(yīng)的上游分支,也就是對(duì)應(yīng)的遠(yuǎn)程別名(remote)里面的分支。
- 如果有,則直接推送當(dāng)前分支的歷史版本到遠(yuǎn)程別名里面對(duì)應(yīng)的分支。此時(shí) git 只推送該分支的更新,不考慮其他分支。
- 如果沒(méi)有(新建立的分支),則會(huì)直接報(bào)錯(cuò):The current branch d has no upstream branch. 此時(shí)只能參考以下的情況做處理
2. git push -u origin 當(dāng)前分支名 or git push --set-upstream origin abc
新建立的分支第一次直接 push 時(shí)會(huì)報(bào)錯(cuò),是我們還沒(méi)有設(shè)置當(dāng)前分支對(duì)應(yīng)的遠(yuǎn)程別名里面的分支,可以使用的命令 git push --set-upstream origin abc,這樣就可以將本地的 abc 分支(假設(shè)本地分支叫做abc)推送到遠(yuǎn)程別名里面的 abc 分支,如果遠(yuǎn)程別名里面沒(méi)有 abc 這個(gè)分支,則會(huì)自動(dòng)建立一個(gè) abc 分支并接收推送的內(nèi)容;并且為當(dāng)前的分支設(shè)置了 upstream branch, 以后再推送該分支就可以直接執(zhí)行 git push 了(當(dāng)然也只是push當(dāng)前所在的本地分支,不會(huì)處理其他本地分支)。如果以后想要修改 upstream branch, 可以使用 git branch --set-upstream-to origin/abc,設(shè)置好了以后該分支也可以直接執(zhí)行 git push 向遠(yuǎn)程別名的響應(yīng)分支推送了,但是修改 upstream branch 有個(gè)問(wèn)題,就是比如現(xiàn)在是 abc 分支,一般來(lái)講肯定也是推送到遠(yuǎn)程別名里面的 abc 分支,本地分支和遠(yuǎn)程別名的分支一一對(duì)應(yīng),修改之后比如 git branch --set-upstream-to origin/efg 后,以后再 git push 時(shí) git 就會(huì)報(bào)錯(cuò):The upstream branch of your current branch does not match the name of your current branch. 就是遠(yuǎn)程的分支名和當(dāng)前的分支名不匹配,并且提示如果推送到你想要的分支。
3. git push --all
直接推送所有本地分支,那些沒(méi)有設(shè)置 upstream branch 的會(huì)自動(dòng)創(chuàng)建響應(yīng)的遠(yuǎn)程別名分支,然后接收推送的內(nèi)容,但是沒(méi)有為本地分支設(shè)置遠(yuǎn)程別名的分支
到此這篇關(guān)于git push命令詳解的文章就介紹到這了,更多相關(guān)git push命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于IDEA git 只有Commit沒(méi)有Push的問(wèn)題
- 關(guān)于Idea向GitHub push代碼時(shí)一直重復(fù)提示輸入用戶名和密碼的問(wèn)題
- IDEA中g(shù)it撤回上一次push的方法(指定回到某個(gè)版本)
- git push 本地項(xiàng)目推送到遠(yuǎn)程分支的方法(git命令版)
- idea上提交項(xiàng)目到gitee 最后出現(xiàn) Push rejected的問(wèn)題處理方法
- git如何撤銷commit的方法(未push)
- git?push時(shí)卡住的解決方法(長(zhǎng)時(shí)間不報(bào)錯(cuò)也不自動(dòng)退出)
相關(guān)文章
ImageMagick免費(fèi)開源圖片批處理利器使用詳解
這篇文章主要為大家介紹了ImageMagick免費(fèi)開源圖片批處理利器使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04即時(shí)通訊軟件在網(wǎng)頁(yè)上啟動(dòng)臨時(shí)對(duì)話的鏈接代碼
旺旺臨時(shí)對(duì)話的鏈接,MSN臨時(shí)對(duì)話的鏈接,Skype臨時(shí)對(duì)話的鏈接2008-11-11Chrome瀏覽器斷點(diǎn)調(diào)試技巧(非常詳細(xì)!)
在我們?nèi)粘i_發(fā)中,常常利用chrome強(qiáng)大的控制臺(tái)Sources下面進(jìn)行代碼斷點(diǎn)調(diào)試,這篇文章主要給大家介紹了關(guān)于Chrome瀏覽器斷點(diǎn)調(diào)試技巧的相關(guān)資料,需要的朋友可以參考下2023-09-09