今天在執(zhí)行g(shù)it push命令時(shí)出現(xiàn)如下錯(cuò)誤

直譯:當(dāng)前分支dev沒(méi)有上游分支
原因:當(dāng)前分支沒(méi)有與遠(yuǎn)程分支建立連接
解決方法
按照提示執(zhí)行
git push --set-upstream origin dev
簡(jiǎn)寫(xiě)模式
git push --u origin dev
這個(gè)意思是把本地dev push到orgin的dev 上,-u 表示同時(shí)建立連接,以后再推送到遠(yuǎn)程只需要git push orgin皆可以。
分析
git分支與遠(yuǎn)程主義存在隊(duì)形分支,可能是單個(gè)也可能是多個(gè)
simple方式:如果當(dāng)前分支只有一個(gè)追蹤分支,那個(gè)git push origin到主機(jī)時(shí),可以省略主機(jī)名。
matching方式:如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,那么git push --set-upstream origin master將本地的master分支推送到origin主機(jī)(-set-upstream 選項(xiàng)會(huì)指定一個(gè)默認(rèn)主機(jī)),同時(shí)指定該主機(jī)為默認(rèn)主機(jī),后面使用可以不加任何參數(shù)使用git push
注意
Git 2.0版本之前,默認(rèn)采用matching方法,現(xiàn)在改為默認(rèn)采用simple方式。
原因
1.可能是因?yàn)楫?dāng)前版本小于2.0
2.若不是版本問(wèn)題則是因?yàn)楫?dāng)前分支與多個(gè)主機(jī)存在對(duì)應(yīng)關(guān)系,而當(dāng)前未指定對(duì)應(yīng)關(guān)系
此時(shí)檢查一下項(xiàng)目下.git的.config文件中是否缺少該分支指定信息
