2013-08-07 96 views
2

我想簽出整個分支,但只能在該分支的特定目錄內工作。因此,我想對整棵樹進行「潛入」,並使我的工作樹僅反映我選擇的子目錄。例如: -git:使工作樹僅反映整棵樹的子路徑

"master" tree 
    dir1/ 
    file1 
    file2 
    dir2/ 
    file3 

work-dir tree 
    .git 
    file1 
    file2 

我的猜測是做這樣的:

git checkout master:dir1/ 

然而,這並不工作,並報告該錯誤:

fatal: Cannot switch branch to a non-commit 'master:dir1/' 

這可能嗎?

注意:我不想使用子模塊,因爲我不想將我的回購商品分成不相關的部分。就我所知,子樹合併只能幫助我同步兩個具有相似結構但歷史不同的獨立目錄。我想修改回購中的原始對象,並能夠將它們來回合併保留所有歷史記錄。

回答

0

這是不可能的。但是,您可以使用cd dir1和git仍然會從那裏工作,讓您在使用的git add file1代替git add dir1/file1

+0

我很欣賞你的建議,但我真的需要在我工作的根目錄下有子路徑內容。我接受git無法做到這一點,並嘗試以其他方式解決它。謝謝。 – user2660464