Với SVN, tôi có một kho lưu trữ lớn duy nhất mà tôi đã lưu trên một máy chủ và được kiểm tra trên một vài máy. Đây là một hệ thống sao lưu khá tốt, và cho phép tôi dễ dàng làm việc trên bất kỳ máy nào. Tôi có thể kiểm tra một dự án cụ thể, cam kết và nó cập nhật dự án 'chủ', hoặc tôi có thể kiểm tra toàn bộ điều.Làm thế nào để bạn tổ chức nhiều kho lưu trữ git, sao cho tất cả chúng được sao lưu cùng nhau?
Bây giờ, tôi có một kho lưu trữ git, cho các dự án khác nhau, một vài trong số đó là trên github. Tôi cũng có kho SVN mà tôi đã đề cập, được nhập thông qua lệnh git-svn ..
Về cơ bản, tôi muốn có tất cả mã của mình (không chỉ các dự án, nhưng đoạn mã và đoạn mã ngẫu nhiên, một số thứ như CV, bài viết của tôi ' đã viết, các trang web tôi đã thực hiện và vv) trong một kho lưu trữ lớn, tôi có thể dễ dàng sao chép vào máy từ xa, hoặc thẻ nhớ/harddrives như sao lưu.
Vấn đề là, vì nó là kho lưu trữ riêng và git không cho phép kiểm tra thư mục cụ thể (tôi có thể chuyển sang github dưới dạng dự án riêng biệt, nhưng có thay đổi xuất hiện trong cả master-repo, và sub-repos)
I có thể sử dụng hệ thống con git submodule, nhưng nó không hoạt động như thế nào tôi muốn nó (submodules là con trỏ đến kho khác, và không thực sự chứa mã thực tế, vì vậy vô ích khi sao lưu)
Hiện tại tôi có thư mục git-repos (ví dụ: ~/code_projects/proj1/.git/~/code_projects/proj2/.git /) và sau khi thực hiện thay đổi đối với proj1, tôi thực hiện git push github
, sau đó tôi sao chép các tệp vào ~/Documents/code/python/projects/proj1/và thực hiện một cam kết đơn lẻ (thay vì nhiều commit trong các repos riêng lẻ). Sau đó, hãy thực hiện git push backupdrive1
, git push mymemorystick
vv
Vì vậy, câu hỏi: Mã và dự án cá nhân của bạn có kho lưu trữ git như thế nào và giữ chúng được đồng bộ hóa và sao lưu?
Thực tế là tôi tiếp tục kết thúc với nhiều kho lưu trữ riêng biệt và viết kịch bản đơn giản để giúp quản lý tất cả làm cho tôi cảm thấy rằng có điều gì đó thiếu trong git. Tôi chỉ không thể quyết định chính xác nó là gì hoặc phải làm gì với nó. – DonGar
Vâng, bạn cũng quản lý rất nhiều dự án riêng biệt? Mối quan hệ một-một giữa các dự án và kho lưu trữ cảm thấy hợp lý trong một thế giới phân tán, nhưng tôi vẫn sắp xếp các kho trống trong một cây thư mục chung để dễ sao lưu và quản trị. (Nói cách khác, Git/Hg/Bzr buộc bạn phải quản trị riêng biệt khỏi các nhiệm vụ của dự án, trong khi hầu hết các luồng công việc SVN liên kết hai; bây giờ chúng ta thường thấy mọi người ủy quyền phần quản trị cho GitHub hoặc các nhà cung cấp khác.) –
cảm giác nếu bạn lưu trữ các dự án của riêng bạn và/hoặc chúng là tất cả các nguồn mở. Nếu không, bạn sẽ cần đến github, bạn sẽ cần các dự án private không giới hạn có thể tốn kém – dkinzer