2012-02-15 22 views
10

Tôi làm việc trên một nhóm trên một repo lớn. Gần đây chúng tôi đã quyết định chuyển một trong những thư mục vào submodule riêng của mìnhThư mục đã di chuyển vào mô-đun con, bây giờ nhận được các tập tin "Untracked files sẽ bị ghi đè"

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

Tôi làm theo các hướng dẫn để lọc ra các thư mục www vào repo riêng của mình được liệt kê ở đây: Detach (move) subdirectory into separate Git repository. Tôi đã chuyển thư mục www ra khỏi số aaa repo.

tôi loại bỏ các thư mục từ các chi nhánh tổng thể bằng cách chạy các lệnh này:

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

Vì vậy, bây giờ thầy, cây trông như thế này:

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

Tôi muốn thêm www như một mô-đun con bằng cách chạy:

$ 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. 

Điều đó làm việc tốt trên máy chủ. Tuy nhiên, bất cứ lúc nào tôi cố gắng chuyển sang chi nhánh khác, tôi nhận được lỗi sau:

$ 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 

Làm thế nào tôi có thể loại bỏ các thư mục www từ tất cả các chi nhánh tại các aaa repo? Có khoảng 100 chi nhánh, do đó, làm điều này bằng tay sẽ là một rắc rối.

Tôi không lo lắng về việc lưu giữ bất kỳ thay đổi nào tồn tại trong www thư mục của các chi nhánh cũ.

Trả lời

15

Chỉ cần sử dụng git checkout -f để hoán đổi các chi nhánh, sau đó xóa chúng như bình thường và hợp nhất trong chương trình chính để giới thiệu mô đun con của bạn.

Các vấn đề liên quan