Tôi khá mới với Git: Tôi đến từ SVN và ở đó tôi thấy thực sự mạnh mẽ: tính năng bên ngoài. Ở đây trong Git tôi đã không tìm thấy một cái gì đó tương tự:Đẩy subtrees vào một repo git
- submodules là hoàn hảo cho việc thêm các module dự án mà không phải là luôn luôn cần thiết. Chúng phải được khởi tạo sau khi nhân bản repo và bạn không thể chỉ bao gồm một phần tử con của dự án gốc.
- subtrees thực sự tốt cho việc thêm thư viện (chúng cũng cho phép đưa vào thư mục con), nhưng đẩy chúng là một nỗi đau thực sự.
Vì vậy, kịch bản là: Tôi có một dự án, trong đó tôi muốn bao gồm một số thư viện. Tôi muốn có khả năng thay đổi tất cả các thư viện này và đẩy chúng vào các bản repo của riêng họ. Hơn nữa, một số thư viện này là các thư mục con của các dự án lớn hơn (ví dụ, nếu một dự án bao gồm các bản trình diễn hoặc tệp readme, tôi sẽ không bao gồm các thư mục đó trong dự án của tôi).
Tôi có thể làm như thế nào?
Tôi đã thử:
- http://progit.org/book/ch6-7.html + http://posterous.timocracy.com/git-sub-tree-merging-back-to-the-subtree-for (sáp nhập chỉ là một subdir không được phép, hoặc tôi không thể chỉ nhìn thấy nó);
- http://www.tipstank.com/2011/02/21/git-subtree-notes-and-workflows/ (giống như trên, không xử lý việc bao gồm tiểu mục);
- http://psionides.eu/2010/02/04/sharing-code-between-projects-with-git-subtree/ (không thể thấy gì về việc đẩy);
- http://h2ik.co/2011/03/having-fun-with-git-subtree/ (không thể nhìn thấy gì về đẩy)
Vâng, nếu bạn đã đạt đến thời điểm này, nhờ sự kiên nhẫn của bạn, bây giờ tôi muốn một cái gì đó khác để thử, bởi vì ngay bây giờ kết luận của tôi là : "subtree đẩy không được phép trong Git" ç_ç
http://stackoverflow.com/questions/3131912/why-are-git-submodules-incompatible-with-svn-externals/3132221#3132221: git submodules và bên ngoài là khác nhau thực sự. Nhưng bạn có thể thay đổi nội dung mô-đun con và đẩy tới repo của nó: http://stackoverflow.com/questions/1979167/git-submodule-update/1979194#1979194. Về cơ bản, câu trả lời của tôi sẽ giống như http://stackoverflow.com/questions/9394286/planning-repository-layout-for-git-migration/9395375#9395375 – VonC
ok, cảm ơn ... nhưng (hãy làm đúng nếu tôi Tôi sai) với submodules tôi không thể "bao gồm" chỉ một submodule-thư mục cụ thể ?? Tôi có nghĩa là: submodule của tôi có hai thư mục: Demos và Source và tôi muốn bao gồm _only_ nội dung Source trong dự án cha mẹ của tôi ... hy vọng nó dễ hiểu ... –
chính xác: submodule là một repo git của riêng nó: bạn nên kiểm tra mọi điều. Trong khi thanh toán thưa thớt là có thể (http://stackoverflow.com/a/2467629/6309), chúng không được khuyến nghị. Sử dụng liên kết tượng trưng để chỉ liên kết những gì bạn muốn xem là tốt hơn. – VonC