2010-10-04 60 views
1

我有一個目錄,看起來像這樣:如何維護駐留在另一個項目目錄中的Git存儲庫?

ProjectFolder/ 
    + project_file 

    + project_file_2 

    + project_folder/ 
     + another_file 

    * my_stuff/  <= add to repo 
     * foo   <= add to repo 
     * bar   <= add to repo 

    * my_file   <= add to repo 
    * my_other_file <= add to repo 

ProjectFolder是一個軟件,我做到了沒有寫,也不是一個Git倉庫。對於它的價值,它是vBulletin。

在主文件夾中,我有一些項目擴展/模塊/等。這些文件的位置由外部項目強制執行。幸運的是,我關心的95%的文件來自ProjectFolder根目錄。 (請注意上面標記爲*的文件)

有沒有一種方法可以輕鬆地將*標記文件添加到git回購?

我在這裏看到的問題是,git將無法區分我的擴展與外部項目。

額外:當更新外部項目時,只需重新登錄git倉庫以重新安裝我的git倉庫中的所有擴展就會很好。

回答

1

回購內回購意味着一般submodule

如果您可以將ProjectFolder設置爲「父級回購」,並且您的每個子目錄都是子模塊,那麼您就可以實現您之後的組織類型。

每個subrepo可以獨立更改。
即使ProjectFolder不是一個倉庫,沒有什麼阻止你做一個在它(git init .),你可以在它直接my_filemy_other_file,再加上引用聲明爲自己的回購其他子目錄添加。

+0

外部項目不是git存儲庫。 ParentProject的更新不受版本控制。它以'.zip'文件的形式出現。 – 2010-10-04 17:41:09

+1

@macek,但是如果您從ParentProject進行回購,您可以直接在其中解壓縮,並在各種子模塊中查看由該zip引入的更改:然後,您將在提交父回購前提交每個子模塊中的更改('ParentProject'文件夾) – VonC 2010-10-04 17:44:48

相關問題