是否有可能在遠程主存儲庫中創建分支而沒有存儲庫的本地克隆?在沒有本地存儲庫的情況下在遠程存儲庫中創建分支
存儲庫足夠大,克隆副本只是爲了製作和推送分支是非常浪費的(大約20分鐘),尤其是當分支由自動化系統爲了程序和功能原因而製作時,並且它不會需要存儲庫本身的內容。
是否有可能在遠程主存儲庫中創建分支而沒有存儲庫的本地克隆?在沒有本地存儲庫的情況下在遠程存儲庫中創建分支
存儲庫足夠大,克隆副本只是爲了製作和推送分支是非常浪費的(大約20分鐘),尤其是當分支由自動化系統爲了程序和功能原因而製作時,並且它不會需要存儲庫本身的內容。
不是基於現有的分支機構,但你可以使用一個完全新的無關信息庫在空分支推。試試下面的測試指令
創建原回購的測試
cd ~/Desktop/test
mkdir original_repo && cd original_repo
git init && touch testfile && git add . && git commit -m "master repo"
cd ..
創建一個新的空回購
mkdir hacky_repo && cd hacky_repo
git init && touch init && git add . && git commit -m "empty new repo"
添加原回購作爲遠程此回購
git remote add original ../original_repo/
而現在推分支從該回購的一部開拓創新回購
git push original master:some_new_branch
cd ../original_repo
如果你現在做一個git branch
- 你應該有新的分支出現在你原來的回購。
$) git branch
* master
some_new_branch
這裏的假設是,你提前其中所有分支/分支的命名空間是免費的認識。
另外從任何回購推的一個分支,其他可能性包括服務器某種監聽器就設置爲:
但是,假設你有權訪問該服務器。
如果服務器是GitHub,那麼您將無法做到這一點,但您需要使用GitHub API,例如「Create a reference」。
不錯。 +1。肯定比我的回答容易。 – VonC
它不一定是空的... – jthill
我現在看到 - 這總是推動一個新的分支與hacky_repo的「空」內容。它並不實際分支已經包含在遠程主分支中的內容。我希望能有類似於cvs's rtag命令的功能來創建所有現有文件的一個分支。儘管感謝有趣的解決方案;它回答了我所問的問題,寫得不好。 – simpleuser