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