2012-02-15 14 views
10
Ben büyük repo bir ekip çalışması

"İzlenmeyen dosyaların üzerine olacaktır". Detach (move) subdirectory into separate Git repository: Son zamanlarda biz talimatları burada listelenen kendi repo içine www klasörü filtrelemek için takiptaşındı altmodülün içine klasör, şimdi alma mesajı

-- aaa 
    -- .git 
    -- bbb 
    -- ccc 
    -- www  # this folder is going into its own repo. 

kendi altmodülün içine klasörlerden birini taşınmaya karar verdi. Ben aaa repo dışına www klasörü taşındı.

Ben şu komutları çalıştırarak ana daldan dizini kaldırıldı: yöneticisinde Şimdi

$ cd aaa 
$ git checkout master 
$ git rm -rf www 
$ git commit -m "remove the www/ folder from the aaa repo." 

, ağaç gibi görünür:

-- aaa 
    -- .git 
    -- bbb 
    -- ccc 

Ben www eklemek istiyorum Çalışan bir alt modül:

$ cd aaa 
$ git checkout master 
$ git submodule add [email protected]:kevinburke/www.git www 
Cloning into 'www'... 
remote: Counting objects: 717, done. 
remote: Compressing objects: 100% (392/392), done. 
remote: Total 717 (delta 318), reused 711 (delta 317) 
Receiving objects: 100% (717/717), 440.52 KiB | 58 KiB/s, done. 
Resolving deltas: 100% (318/318), done. 

Bu usta üzerinde iyi çalışıyor.

$ cd aaa 
$ git checkout other-old-branch 
error: The following untracked working tree files would be overwritten by checkout: 
    www/1... 
    www/2... 
    www/3... 
    www/4... 
Aborting 

nasıl aaa repo tüm şubelerden www klasörü kaldırabilirsiniz: Ancak, ben başka bir şubeye geçmek için denemek her zaman, ben şu hata alıyorum? Orada yaklaşık 100 şubesi, bu nedenle el ile bunu bir güçlük olacaktır.

Ben yaşlı dalların www klasörleri varolmaya tüm ödenmemiş değişiklikleri tutmak hakkında endişelenmiyorum.

cevap

15

Sadece ve alt modül giriş almak için Master'de birleştirmeyi öngören normalde sizin gibi bunları kaldırmak, sonra şube takas git checkout -f kullanın.