本文首發(fā)于公眾號“AntDream”皂甘,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注佳魔,和我一起每天進步一點點
問題出現的步驟
首先通過
SourceTree
新建一個新的分支凭迹,新建分支的時候是基于遠程分支的某次提交然后將新建的分支推送到遠程
-
最后在本地git目錄文件夾中罚屋,通過git的checkout命令檢出遠程分支
git checkout -b 本地分支名 遠程分支名
以上,就會報 fatal:‘XXX' is not a commit and a branch 'dev' cannot be created from it
的錯誤
問題原因
遠程新建的分支沒有更新到本地嗅绸。實際上脾猛,git倉庫分為本地倉庫和遠程倉庫,我們用checkout
命令是從本地倉庫中找要檢出的分支的鱼鸠。本地倉庫只有在進行網絡請求時才會跟遠程倉庫交互猛拴,比如fetch
命令。
問題解決
更新遠程倉庫數據到本地蚀狰,可以用2個命令
-
fetch
命令git fetch origin
需要注意的是origin是遠程倉庫名愉昆,如果只有一個遠程倉庫,第一次克隆時Git 會自動為你將此遠程倉庫命名為
origin
-
update
命令git remote update origin --prune
這個命令會更新遠程的分支到本地
最后再執(zhí)行checkout
命令即可檢出新建的分支
歡迎關注我的公眾號查看更多精彩文章麻蹋!