[英]What did I just do with my git repository?
我克隆了一個git repo,它有很多其他兩個遠程分支:
當我克隆它時,我就掌握了。 我想切換到foo-bar
分支,即我想將代碼從遠程origin/foo-bar
分支獲取到名稱為foo-bar
的本地分支,所以我這樣做了:
$ git checkout foo-bar
請注意,我不確定是說git checkout origin/foo-bar
還是說git checkout foo-bar
。
現在,我想知道我到底做了哪兩個?
我是否剛剛使用master
分支的所有內容創建了一個名為foo=bar
的新本地分支? 要么
我是否創建了一個新的名為foo-bar
分支並將所有內容從遠程origin/foo-bar
自動拉入其中?
如果我做錯了事,即我實際上想做第二件事,但是如果我做了其他事,如何刪除這個名為foo-bar
本地分支?
請注意,我不確定是說
git checkout origin/foo-bar
還是說git checkout foo-bar
。
兩者都是有效的,但它們的含義不同。 Tl; dr,在這種情況下,您需要后者。
origin/foo-bar
(在這種情況下, origin
是遠程名稱)是所謂的遠程跟蹤分支。 遠程跟蹤分支是只讀的,無法檢出,因此git checkout origin/foo-bar
將分離HEAD
並將其設置為origin/foo-bar
引用的提交。
git checkout foo-bar
分支foo-bar
是否存在,或按如下所述重新創建它。
- 我是否剛剛使用
master
分支的所有內容創建了一個名為foo-bar
的新本地分支?
如果您的Git版本不是很舊,默認情況下git checkout foo-bar
將創建分支foo-bar
並將其設置為跟蹤您的case origin/foo-bar
。
手冊頁git-checkout中記錄了此行為。
- 我是否創建了一個新的名為foo-bar的分支並將所有內容從遠程
origin/foo-bar
自動拉入其中?
請參閱1。
- 如果我做錯了事,即我實際上想做#2,但是如果我做了其他事,如何刪除這個名為foo-bar的本地分支?
要刪除分支,請簽出其他分支(例如git checkout master
),然后執行git branch -d foo-bar
。
有關git-branch的信息,請參見手冊頁 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.