簡體   English   中英

我剛剛對git存儲庫做了什么?

[英]What did I just do with my git repository?

我克隆了一個git repo,它有很多其他兩個遠程分支:

  1. 原點/ foo-bar

當我克隆它時,我就掌握了。 我想切換到foo-bar分支,即我想將代碼從遠程origin/foo-bar分支獲取到名稱為foo-bar的本地分支,所以我這樣做了:

$ git checkout foo-bar

請注意,我不確定是說git checkout origin/foo-bar還是說git checkout foo-bar

現在,我想知道我到底做了哪兩個?

  1. 我是否剛剛使用master分支的所有內容創建了一個名為foo=bar的新本地分支? 要么

  2. 我是否創建了一個新的名為foo-bar分支並將所有內容從遠程origin/foo-bar自動拉入其中?

  3. 如果我做錯了事,即我實際上想做第二件事,但是如果我做了其他事,如何刪除這個名為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是否存在,或按如下所述重新創建它。

  1. 我是否剛剛使用master分支的所有內容創建了一個名為foo-bar的新本地分支?

如果您的Git版本不是很舊,默認情況下git checkout foo-bar將創建分支foo-bar並將其設置為跟蹤您的case origin/foo-bar

手冊頁git-checkout中記錄了此行為。

  1. 我是否創建了一個新的名為foo-bar的分支並將所有內容從遠程origin/foo-bar自動拉入其中?

請參閱1。

  1. 如果我做錯了事,即我實際上想做#2,但是如果我做了其他事,如何刪除這個名為foo-bar的本地分支?

要刪除分支,請簽出其他分支(例如git checkout master ),然后執行git branch -d foo-bar

有關git-branch的信息,請參見手冊頁

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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