2016-05-14 51 views
0

我有什麼 我在另一個Git倉庫中。 像嵌套庫。 Git的。更改工作目錄

Repo1/ 
    .git 
     fileOfRepo1 
     Repo2/ 
      .git 
      fileofRepo2 

我已經做了在repo1和repo2一些承諾。

這裏是問題 當檢查到以前提交的repo1時,我希望將我的文件更改爲先前提交的文件。這種情況發生在Repo1的文件中,它不適用於Repo2的文件。

然而,這確實認識到,事情發生在這裏是我如何知道

如果我在最後Repo1的分支主犯我獲得

$ git status 
On branch master 
nothing to commit, working directory clean 

我以後做然而

$ git結帳SHA

我獲得

Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

     modified: Repo2 (new commits) 

no changes added to commit (use "git add" and/or "git commit -a") 

如果我使用子模塊,我會鍵入:混帳子模塊更新,我會得到想要的behaviur,但我確實沒有想要使用的子模塊。嚴重沒有子模塊的建議請。我可以更清楚沒有子模塊。

我正在使用本地存儲庫只是爲了組織我自己的項目。

+0

git子樹也出來了嗎?爲什麼你需要嵌套倉庫?如果出於備份目的,請參閱[嵌套和獨立GIT回購,備份,如何?](http://stackoverflow.com/questions/11269804/nested-and-independent-git-repos-for-backup-how)。如果要進行軟件開發,可以考慮使用一個構建系統,在必要時從源代碼樹之外的git存儲庫安裝依賴項,而不是將它們的repo嵌套到你的項目中。 –

回答

0

所以看起來,git忽略了自己的git倉庫的子文件夾。所以它不會遞歸到子回購,因此當您在父回購中籤出不同版本時,狀態不會改變,導致它無法獲取與父回報相關聯的子版本。