簡體   English   中英

為什么我在執行`git checkout -b 3_1`后丟失了我的主分支?

[英]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/masterrefs/heads/3_1替換。 當我們進行root提交時, refs/heads/3_1將指向它。

在另一種情況下,如果我們在git checkout -b 3_1之前首先進行提交,我們可以通過git branch看到master3_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM