我確定這是一個超級簡單的問題,但我無法找到答案,所以我非常感謝您的回答!
我創建了一個樣板存盤庫,我(和其他任何人)都可以復制它作為新專案的起點。這就是問題所在:當我將該存盤庫上傳到 Github 時,我顯然需要設定遠程 URL。但是,當某人(例如我)克隆存盤庫并進行更改時,無需設定自己的 URL 即可輕松推送更改,因此將更改推送到原始樣板。
如何從存盤庫中洗掉遠程 URL 并仍將其托管在 Github 上?
uj5u.com熱心網友回復:
遙控器未在GitHub 上設定;它是在您克隆時設定的。克隆設定一個遠程,默認呼叫origin,它指向你用來克隆的 URL。
幾個選項:
首先不要克隆。
您可以創建一個空存盤庫,然后從源存盤庫中提取而無需設定遠程:
git init foo cd foo git pull https://some.tld/foo/bar為了使這更容易,您可以創建一個一次性完成所有操作的別名,例如通過將類似這樣的內容添加到您的
~/.gitconfig:[alias] clone-template = "!f() { git init \"$2\" && git -C \"$2\" pull \"$1\"; }; f"然后你會像這樣使用它:
git clone-template https://some.tld/foo/bar foofoo您要使用的本地目錄名稱在哪里。克隆然后洗掉
origin遙控器:git clone https://some.tld/foo/bar cd bar git remote remove origin為了使這更容易,您可以創建一個執行這兩個操作的別名,如上所述。
棘手的部分是知道克隆創建的目錄的名稱,以便您可以
cd進入它。上面的別名需要本地目錄作為引數來解決這個問題。degit使用沒有歷史記錄的克隆之類的第三方工具。這里的主要缺點是 (a) 具有第三方依賴項,可能使用您不想設定的開發堆疊,以及 (b) 丟失所有提交歷史記錄以及遠程。
您可以通過執行以下操作來減輕(a)的影響,
git clone --depth=1然后洗掉.git/目錄,但這仍然會破壞您的所有歷史記錄。如果你打算這樣做,我建議你origin在第二個選項中取消設定。
uj5u.com熱心網友回復:
檢查這個命令
git remote remove origin
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/462093.html
標籤:混帐 github git-remote
