簡體   English   中英

簽出Bitbucket分支而不克隆主節點

[英]Checkout Bitbucket branch without cloning the master

我正在從SVN切換到Bitbucket,在SVN中,我具有分支的HTTP URL,並且我可以僅查看該分支。

我看到在Bitbucket情況有些不同的情況下,通過克隆repo git clone <<<repo_url>>>我可以檢出該repo的master分支,然后再使用git checkout <<branch name>>切換到該repo中的另一個分支git checkout <<branch name>>

但是我不想克隆存儲庫並檢出master的冗余步驟,我直接想從該存儲庫中檢出我需要的非master分支。

但是到目前為止,我找不到任何解決方案,也無法克隆該分支,因為從Bitbucket獲得的克隆URL是回購協議。

有誰知道如何在不檢出主節點的情況下檢出遠程非主Bitbucket分支?


這不是重復這個 ,因為按照你剛才提到的問題的答案,以便執行git clone <url> --branch <branch> --single-branch [<folder>]我需要連接/配置有那個回購,這意味着一個預克隆。 我的問題是關於簽出非主分支而不檢查/克隆主分支,

這是由svn和git之間的差異引起的。

  • 對於svn repo,所有分支都存在於同一工作目錄中,因此您可以使用http://svn-repo/branchname通過URL獲得分支。
  • 而對於git repo,所有分支並行存在。 這意味着工作方向根據不同分支而有所不同。 HEAD指向某個分支時,工作目錄將只包含屬於該分支的文件。 因此,您不能在回購URL后添加分支名稱(如svn),但需要將分支檢出到工作目錄。

對於git clone <repo URL> ,默認情況下HEAD指向默認(主)分支。 在大多數情況下,默認(主)分支是master分支。

如果您希望HEAD在克隆git repo后立即指向另一個分支(不使用git checkout命令),則可以更改默認(主)分支

例如,如果要將主分支從master更改為o1 ,可以在bitbucket中進行如下設置:

在bitbucket存儲庫->設置->存儲庫詳細信息->選擇Main分支為o1 >保存存儲庫詳細信息。

在此處輸入圖片說明

然后,您還可以在您的bitbucket repo分支中找到o1分支現在是主分支。

在此處輸入圖片說明

現在,當您克隆存儲庫時,當前分支始終是o1分支。

但是我不想克隆存儲庫並檢出master的冗余步驟,我直接想從該存儲庫中檢出我需要的非master分支。

那你可以做

git clone <url> --branch <branch> --single-branch [<folder>]

如您所鏈接的答案中所述。

這不是重復的,因為按照您提到的問題的答案,要執行git clone <url> --branch <branch> --single-branch [<folder>]我需要連接/配置那個回購,這意味着一個預克隆。

不,不需要“預克隆”。 您引用的命令執行克隆操作,就像裸git clone命令一樣。 區別在於--branch允許您指定從哪個分支開始,就像您要的一樣。

也不需要以前與遠程倉庫的任何“連接”。 在命令中指定URL將創建連接。

暫無
暫無

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

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