[英]Why I lost my master branch after executing `git checkout -b 3_1 `?
我在win7 64bit中使用Git Bash 2.9.0-64位。
我創建了一個名為lec_yaac的git存儲庫。 這是關於分支主機的相關信息:
wen @wen-PC MINGW64 / d / Git / lec_yaac(master)
我執行命令git checkout -b 3_1
,它改為
wen @wen-PC MINGW64 / d / Git / lec_yaac(3_1)
我添加並提交了一些文件。
但是當我執行git branch
,它只顯示,
- 3_1
分支主人沒什么。
並且git checkout master
返回
錯誤:pathspec'master'與git已知的任何文件都不匹配。
當我們通過git init
初始化一個空的git repo時,Git會創建一個master
分支。 但是它現在只是一個默認的ref,指向沒有提交,因為還沒有任何提交。 運行cat .git/HEAD
並輸出ref: refs/heads/master
。 在git checkout -b 3_1
,默認的ref refs/heads/master
被refs/heads/3_1
替換。 當我們進行root提交時, refs/heads/3_1
將指向它。
在另一種情況下,如果我們在git checkout -b 3_1
之前首先進行提交,我們可以通過git branch
看到master
和3_1
。
master
分支沒有什么特別之處。 它就像任何其他分支一樣。 並且分支必然只是指向提交的指針。 因此,只要您提交,分支就會出現在圖片中。
如果您在自己創建分支之前已經提交了master
分支,那么您已經獲得了分支。
你做了什么 -
1.創建了一個回購
2.創建並切換到新分支( 3_1
)
3.致力於3_1
你應該做什么 -
1.創建了一個回購
2.提交要master
東西(默認分支名稱)
3.創建並切換到新分支( 3_1
)
4.致力於3_1
如果您仍想要一個主分支,只需創建一個。
git checkout -b master
雖然現在這將指向您之前的分支3_1
的最新提交
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.