![](/img/trans.png)
[英]Clone remote git repository for local use without interfering with the remote branch
[英]Does `git clone` copy every branch on the remote repository?
git clone
是否復制遠程存儲庫上的每個分支?
是否可以請求它克隆一些分支而不是其他一些分支,就像git fetch
通過其 refspec 參數所做的那樣?
請記住,與 Git 的所有其他部分一樣, git clone
並沒有真正關心分支名稱,而是關心commits 。 只是 Git(和git clone
)需要名稱才能找到提交。
git clone
命令本身主要包括:
git init
git remote add
以保存 URLgit fetch
git checkout
因此,問題實際上歸結為:您能否控制git clone
添加的遙控器的fetch =
設置?
答案是肯定的,但僅限於有限的范圍。 限制是:
--mirror
將--mirror
設置為+refs/*:refs/*
。--bare
將--bare
設置為+refs/heads/*:refs/heads/*
和+refs/tags/*:refs/tags/*
。--single-branch
或任何暗示它為該操作設置 refspec 的命令。 在缺少其中任何一個的情況下,您將獲得一個標准的 refspec。 因此,-- --single-branch
允許您選擇一個分支進行克隆(通過更改為單分支--mirror
),而--mirror
允許您離開refs/heads/
命名空間,但至少在今天,沒有參數可以做一些中間子集。 相反,如果您希望獲得一些特殊的結果,您可以執行自己的mkdir
/ git init
/ git remote add
/ git config
/ git fetch
/ git checkout
命令序列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.