Với SVN, tôi có một kho lưu trữ lớn duy nhất mà tôi lưu giữ trên một máy chủ và đăng xuất 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ính' hoặc tôi có thể kiểm tra toàn bộ.
Bây giờ, tôi có một loạt các kho lưu trữ git, cho các dự án khác nhau, một số trong số đó có trên github. Tôi cũng có kho lưu trữ SVN mà tôi đã đề cập, được nhập qua lệnh git-svn ..
Về cơ bản, tôi thích có tất cả mã của mình (không chỉ các dự án mà còn các đoạn mã và đoạn mã ngẫu nhiên, một số thứ như CV của tôi, các bài báo tôi đã viết, các trang web tôi đã thực hiện, v.v.) trong một kho lưu trữ lớn mà tôi có thể dễ dàng sao chép vào điều khiển từ xa máy hoặc thẻ nhớ / ổ cứng làm bản sao lưu.
Vấn đề là, vì nó là một kho lưu trữ riêng và git không cho phép kiểm tra ra khỏi một thư mục cụ thể (mà tôi có thể đẩy lên github như một dự án riêng biệt, nhưng các thay đổi xuất hiện trong cả kho chính và kho phụ repo)
Tôi có thể sử dụng hệ thống mô-đun con git, nhưng nó không hoạt động theo cách tôi muốn (mô-đun con là con trỏ đến các kho lưu trữ khác và không thực sự chứa mã thực, vì vậy nó vô dụng để sao lưu)
Hiện tại, tôi có một thư mục git-repos (ví dụ: ~ / code_projects / proj1 / .git / ~ / code_projects / proj2 / .git /) và sau khi thực hiện các thay đổi đối với proj1 git push github
, tôi sao chép các tệp vào ~ / Tài liệu / mã / python / dự án / proj1 / và thực hiện một lần cam kết duy nhất (thay vì nhiều cái trong kho riêng lẻ). Sau đó, làm git push backupdrive1
, git push mymemorystick
v.v.
Vì vậy, câu hỏi: Làm thế nào để mã cá nhân và các dự án của bạn với kho lưu trữ git, đồng thời giữ chúng được đồng bộ hóa và sao lưu?