2011-05-17 80 views
2

並感謝您花時間閱讀我的文章。是否有可能在同一個文件夾中有多個本地git存儲庫?

我目前正在使用Unity Engine - 這需要某些文件位於項目目錄中的某些文件夾中。例如,假設我有這個假設項目 - LameGame。我的文件夾看起來像這樣

./LameGame 
./LameGame/Assets 
./LameGame/Assets/Resources 
./LameGame/Assets/Editor 
./LameGame/Assets/Plugins 
./LameGame/Assets/Scripts 

我保持Unity引擎通過git的幾個不同的插件,想知道是否有辦法將它們全部導入到同一項目的子模塊。我遇到的問題是,他們無法都有一個唯一的電話 - 他們需要在目錄之間傳播,像這樣:

PluginA

/Assets/Resources/PluginA/* 
/Assets/Editor/PluginA/* 
/Assets/Plugins/PluginA/* 

PluginB

/Assets/Resources/PluginB/* 
/Assets/Editor/PluginB/* 
/Assets/Plugins/PluginB/* 

所以最好我正在尋找的是一個解決方案,它允許我的主項目,以及插件都來自資產/文件夾。這可能與Git?

預先感謝您的任何意見/反饋/建議!

(注:我使用的是Windows 7主要與TortoiseGit)

+0

可能重複? http://stackoverflow.com/questions/436125/two-git-repositories-in-one-directory – 2011-05-17 18:17:44

回答

2

我寧願:

+0

msysgit在Windows上符號鏈接工作得很好嗎? – manojlds 2011-05-17 19:03:27

+0

符號鏈接可能存在一些問題(https://code.google.com/p/msysgit/issues/detail?id=432,http://code.google。com/p/msysgit/issues/detail?id = 520),但沒有任何事實上會阻止你使用它們。 – VonC 2011-05-17 19:10:52

+0

啊,這應該是完美的 - 謝謝你! – Kyle 2011-05-17 19:43:29

0

我認爲你正在尋找這樣的:http://book.git-scm.com/5_submodules.html

這正好說明了如何設置子模塊在Git中,完整的例子

+0

感謝您的快速回復。我遇到的問題是子模塊似乎需要他們自己的文件夾(在這種情況下爲git/a,git/b,git/c和git/d),但我需要它們共享相同的文件夾(git - 或在我的情況下,資產/)。 我在想這可能是不可能的。 – Kyle 2011-05-17 18:25:14

+1

我指出的頁面也解釋了你不能用Git子模塊做什麼。你要找的東西只能用詭計來完成,比如使用符號鏈接來構建你想要的樹... – rlc 2011-05-18 12:55:06

1

雖然非常過時了,我的意思是非常,理論上你可以有一個git的別名它提供了--git-dir參數來支持遠程.git目錄的庫之一。然後,您可以將第一個回購中的所有文件添加到第二個.gitignore中,反之亦然。然後你可以「git commit」提交到第一個倉庫,然後「altgit commit」提交到第二個倉庫。

您最好使用符號鏈接樹,正如其他人所建議的,但它在技術上會起作用。

+0

爲什麼不推薦使用? – einpoklum 2017-04-03 22:27:13

+0

@einpoklum:它違反了[令人驚訝/驚訝的原則](https://en.wikipedia.org/wiki/Principle_of_least_astonishment)。有人不知道你的配置,睡眠不足的人,或者使用find .git或其他東西的自動化工具,可能會對你的目錄或回購站做壞事。考慮一下如果這些回購可能通過外部流程更新,意外獲取兩個git repos試圖管理同一個文件的噩夢。拒絕吧。 – 2017-04-04 03:48:03

+0

嘿,這是一個修訂控制系統 - 我可以撤銷那些不好的事情:-) – einpoklum 2017-04-04 08:46:59

相關問題