Dzięki SVN miałem jedno duże repozytorium, które trzymałem na serwerze i wyewidencjonowałem na kilku maszynach. To był całkiem niezły system tworzenia kopii zapasowych i pozwolił mi z łatwością pracować na dowolnej maszynie. Mógłbym pobrać konkretny projekt, zatwierdzić i zaktualizować projekt „główny” lub pobrać całą rzecz.
Teraz mam kilka repozytoriów git dla różnych projektów, z których kilka jest na githubie. Mam też repozytorium SVN, o którym wspomniałem, zaimportowane za pomocą polecenia git-svn.
Zasadniczo lubię mieć cały mój kod (nie tylko projekty, ale losowe fragmenty i skrypty, niektóre rzeczy, takie jak moje CV, artykuły, które napisałem, strony internetowe, które stworzyłem i tak dalej) w jednym dużym repozytorium, które mogę łatwo sklonować na zdalnym maszyny lub pendrive / dyski twarde jako kopia zapasowa.
Problem polega na tym, że jest to prywatne repozytorium, a git nie pozwala na wyewidencjonowanie określonego folderu (który mógłbym przesłać do github jako oddzielny projekt, ale zmiany pojawiają się zarówno w głównym repozytorium, jak i podrzędnym repozytoria)
I mógł korzystać z systemu git submodule, ale to nie działa jak chcę go zbyt (Submoduły są wskaźnikami do innych repozytoriów, a tak naprawdę nie zawierają rzeczywisty kod, więc jest bezużyteczny do tworzenia kopii zapasowych)
Obecnie mam folder git-repos (na przykład ~ / code_projects / proj1 / .git / ~ / code_projects / proj2 / .git /) i po wprowadzeniu zmian w proj1 robię git push github
, a następnie kopiuję pliki do ~ / Dokumenty / kod / python / projekty / proj1 / i wykonaj pojedyncze zatwierdzenie (zamiast wielu w poszczególnych repozytoriach). Następnie zrobić git push backupdrive1
, git push mymemorystick
etc
A więc pytanie: w jaki sposób Twój osobisty kod i projekty z repozytoriami git oraz utrzymywanie ich synchronizacji i tworzenia kopii zapasowych?