2010-10-05 44 views
49

Tôi đang cố gắng lấy một thư mục từ một repo github bên ngoài để sử dụng trong dự án của tôi.Làm thế nào để sao chép chỉ một thư mục từ một git submodule?

Tôi muốn thiết lập dự án của tôi là như thế này:

-my_project 
    -submodule 
     -code.py 
    -MY_README 
    -.git 

Và tôi có repo từ xa được đặt tên một số-submodule với cấu trúc sau:

-submodule 
    -code.py 
-README 
-.gitignore 

Vì vậy, tôi chỉ muốn thư mục submodule thêm cho dự án của tôi.

Nhưng tôi kết thúc với điều này sau khi

git submodule add http://github.com/user/submodule.git submodule

-my_project 
    -submodule 
     -submodule 
      -code.py 
     -README 
     -.gitignore 
    -MY_README 
    -.gitignore 

Tôi mới đến git vì vậy tôi thực sự không biết nếu nó có thể chỉ sử dụng git. Nếu đó là một số trợ giúp tôi đang sử dụng msysgit trên cửa sổ.

Vì vậy, có anyway mà tôi có thể nhận được một thư mục submodule sạch trong dự án của tôi từ một repo công cộng?

Nếu bạn đang tò mò về chính xác những gì tôi đang cố gắng làm tôi đang cố gắng lấy trực tiếp từ repos của họ những plugin django 12 để thêm chúng vào dự án của tôi.

+1

Bản sao y của [Làm thế nào tôi có thể thêm một thư mục cụ thể từ một repo git như một submodule git?] (Http://stackoverflow.com/questions/3158597/how-can- i-add-a-specific-folder-từ-a-git-repo-as-a-git-submodule) –

Trả lời

15

Điều bạn muốn làm là không khả thi vì bạn không thể sao chép một phần của kho lưu trữ.

Xem chi tiết thành hai bản How to change a git submodule to point to a subfolder?

+1

Trong khi, nói đúng, _cloning_ chỉ một phần của kho lưu trữ là không thể có ** thanh toán thưa thớt ** kể từ Git 1.7 để giải quyết những gì OP có thể muốn. Xem https://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository – Peterino

5

Nếu bạn:

git submodule add http://github.com/user/submodule.git 

trực thuộc my_project, bạn nên kết thúc với việc tổ chức mong muốn các thư mục.

Từ git submodule add man page:

Đối số tùy chọn <path> là vị trí tương đối của các submodule nhân bản để tồn tại trong superproject.
Nếu không sử dụng <path>, phần "nhân loại" của kho lưu trữ nguồn được sử dụng ("repo" cho "/path/to/repo.git" và "foo" cho "host.xz:foo/.git").

+0

Tuyệt vời! Tôi đã làm theo hướng dẫn tất cả các cách và tôi đã không đọc hướng dẫn ... Tôi nghĩ rằng tôi sẽ kết thúc với tập tin README của submodule trong dự án của riêng tôi ... Cảm ơn rất nhiều! – demula

+1

Có một vấn đề mặc dù ... nó chỉ hoạt động nếu repo của submodule có cùng tên với thư mục tôi muốn sử dụng nhưng nếu không có nghĩa là: repo-> django-submodule thư mục name-> submodule nó không hoạt động nữa . Hãy xem nếu tôi tìm thấy một số workaround – demula

+0

Tôi xin lỗi người đàn ông, tôi đã thử giải pháp của bạn với một trong những repos đã được cấu trúc tốt và tôi nghĩ rằng vấn đề đã được giải quyết ... xấu của tôi. – demula

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