我需要在git存儲庫中添加一個文件夾,並且該文件夾位於主(根)文件夾之外。我想讓git把它當作repo中的其他普通文件夾:就像它位於主文件夾中一樣。請參考git中的文件夾
當然,我可以在那裏複製它,並且必須一遍又一遍地做。但我想以某種方式參考它,找到一個更優雅的解決方案。
有沒有辦法做到這一點?
我需要在git存儲庫中添加一個文件夾,並且該文件夾位於主(根)文件夾之外。我想讓git把它當作repo中的其他普通文件夾:就像它位於主文件夾中一樣。請參考git中的文件夾
當然,我可以在那裏複製它,並且必須一遍又一遍地做。但我想以某種方式參考它,找到一個更優雅的解決方案。
有沒有辦法做到這一點?
無法將存在於git存儲庫根文件夾之外的文件夾添加到存儲庫中。
你可以做一些等同於此的方法是將該文件夾作爲自己的權利的git回購,並將其推送到遠程回購。然後在您現有的git存儲庫中進行repo子模塊回購。
因此,可以說,你有兩個文件夾:
foo/
..some code..
bar/
.git/
..some code etc..
而且要確保foo是酒吧回購的成員,但你不能內移動。我們可以做富回購
git init foo
cd foo
git remote add origin my-external-host/foo.git
git add .
git commit -m "initial import"
git push -u origin master
我們可以再添加富作爲一個子模塊吧
cd bar
git submodule add my-external-host/foo.git
git submodule init
git submodule update
git add .
git commit -m "importing foo as submodule"
git push
現在我們將有:
foo/
.git/
..some code..
bar/
.git/
foo -> submodule to my-external-host/foo.git
..some code etc..
這種方法的缺點就意味着,如果你對你需要的foo文件夾進行更改git commit
,然後在bar/foo子模塊上執行git pull
以獲得條形回購中的更新。
更好的解決方案是重新考慮你爲什麼要這樣做。 Git的設計目的不是爲了做你正在尋找的東西,而且要讓Git來做到這一點並不容易。
1)你的意思是用相同的'remote' url創建2個git倉庫嗎? –
不完全是,我會編輯我的答案來解釋,雖然正如我所說的,Git並不是設計用來做你想做的事情,最好的解決方案是不要嘗試去做,或者使用Git以外的東西來做它。 –
submodule?子樹? – Eimantas
@Eimantas,我更新了這個問題。這是一個文件夾。 –
將它移入回購站並在其位置放置符號鏈接? – Johnsyweb