2015-04-06 82 views
0

我使用CVS,我有這樣的層次:將CVS多項目樹層次轉換爲Git?

/ROOT 
    /JAVA 
     /JavaProject1 
     /JavaProject2 
     .project 
    /PHP 
     /PHPProject1 
     /PHPProject2 
     .project 

Eclipse>CVS Repository Exploring,我可以看到這個層次,我可以只Check Out我想要的項目。

另外,我可以檢出(導入)JAVAPHP文件夾(我將它們創建爲Eclipse General project for import)並將它們同步並提交到Eclipse Package Explorer中。

當我想使用Git時,它只支持一個項目。

我不想平面層次結構(附近的所有JAVAPHP項目一起),我想用樹形層次,我想只能檢出,我想與CVS項目。

我的CVS層次結構可能在Git中,或者我應該使用哪種技術?

+0

子模塊可能是你以後的,但我不知道他們構建答案:http://git-scm.com/book/en/v2/Git-Tools-Submodules – 2015-04-06 09:39:12

+0

通常你會有單獨的git倉庫每個項目。很可能這是你需要的。 – 2015-04-06 10:09:24

回答

0

我認爲你正在混合你想要在本地做什麼,以及如何讓你想要 遠程安排事情。所有的git命令只能訪問本地的 存儲庫。 'push'和'fetch'命令似乎可以訪問一個遠程的存儲庫,但實際上它們在對該機器上的本地存儲庫運行的遠程機器上有效地啓動彼此。因此您可以遠程執行的任務 非常有限。具體而言,複製「分支」 和「標記」引用以及這些引用指向的提交歷史記錄。

這意味着對於簡單情況下只有本地存儲庫 它存在於工作目錄的.git目錄中。

您可以在您的本地機器上安排工作目錄,其目錄.git但是 。同樣,您可以通過遠程託管服務允許的任何方式安排遠程的 存儲庫。 佈局不必匹配。如果遠程設備是您自己的Linux服務器,您可以使用 就像您的本地設備一樣。如果遙控器是(例如)Github,則更受限制。

您需要將.git目錄備份到備份庫 ;工作目錄的其餘部分可能不重要。只要您從不使用'--force',您可以使用git push來執行此備份。

Git並不是真的非常熱衷於爲一個存儲庫提供多個工作目錄 。然而,在簡單的情況下,他們每個人都有自己的版本庫副本,您需要 單獨將更新單獨推送到「中央」存儲庫 或更多「隨機」。這些存儲庫都不得在物理上是「遠程的」 。

Git更喜歡你在一個工作目錄中的分支之間切換 並使用make install樣式過程發送構建。

在一個存儲庫中也可能有不相關的分支,但大多數人發現這太混亂,因爲您仍然只有一個工作目錄。