2010-04-03 44 views
6

Tôi có hai dự án .Net khác nhau, được lưu trữ trên github.Chia sẻ mã giữa hai dự án git khác nhau

Tôi muốn tạo thư viện "commons" dùng chung cho hai dự án.

Tôi nên cấu trúc kho lưu trữ của mình như thế nào để tạo điều kiện chia sẻ này?

Lý tưởng nhất, thay đổi trong thư viện chung này trong một dự án có thể dễ dàng được đẩy vào dự án khác. Tôi thích giữ cho chính mã có thể chỉnh sửa được từ hai dự án (trong Visual Studio), và không bao gồm nó như một thư viện. Có thực tiễn tốt nhất cho việc này không?

Trả lời

6

Bạn có thể sử dụng các môđun con Git: https://git-scm.com/book/en/v2/Git-Tools-Submodules

+0

Bạn làm mô đun con 'git thêm kho lưu trữ đường dẫn tới chia sẻ' trong mỗi kho lưu trữ. Một thư mục con với tên của kho lưu trữ được chia sẻ sẽ được tạo ra. Câu hỏi này có liên quan ở đây: http://stackoverflow.com/questions/1462754/what-is-the-advantage-of-using-git-submodules-over-having-a-repo-inside-another –

+1

Điều này thật lạ . Tôi chỉ muốn sửa một liên kết bị hỏng. Tôi không thể làm được vì nó quá nhỏ, đừng hỏi tôi tại sao. Tôi không biết phải thêm gì, bởi vì tôi không biết về submodules. Vì vậy, tôi đã thêm một câu, để tôi có thể sửa liên kết bị hỏng đó. Nó đã được chấp nhận. Sau đó, khi tôi cố gắng thay thế câu vô dụng đó bằng một cái gì đó hữu ích hơn, nó đã bị từ chối. Vì vậy, chúng tôi được trái với câu vô nghĩa đó. –

0

Git submodules có lẽ không phải câu trả lời của bạn. Xem blogpost này để đi sâu vào chi tiết hơn: http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

+0

Về git-subtree (từ tài liệu tham khảo của bạn): Nhược điểm là tất cả các tệp tiểu dự án của bạn đều có trong kho lưu trữ gốc, có nghĩa là bạn đang từ bỏ một số lý do ban đầu chia tách kho dự án của bạn: cho một bộ mã chia sẻ đã cho. Nếu ai đó thực hiện thay đổi đối với một tiểu dự án, họ có thể hợp nhất nó với các thay đổi khác tại địa phương, nhưng họ phải phân chia rõ ràng thay đổi đó ra khỏi dự án của họ nếu họ muốn chia sẻ nó với các dự án. –

+0

Nhưng, tôi đồng ý rằng một số tùy chọn khác https://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/ có lẽ tốt hơn. –

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