Con SVN, avevo un unico grande repository che tenevo su un server e che controllavo su alcune macchine. Questo è stato un buon sistema di backup e mi ha permesso di lavorare facilmente su qualsiasi macchina. Potrei effettuare il checkout di un progetto specifico, eseguire il commit e ha aggiornato il progetto 'master', oppure potrei controllare l'intero file.
Ora, ho un sacco di repository git, per vari progetti, molti dei quali sono su GitHub. Ho anche il repository SVN che ho citato, importato tramite il comando git-svn ..
Fondamentalmente, mi piace avere tutto il mio codice (non solo progetti, ma frammenti e script casuali, alcune cose come il mio CV, articoli che ho scritto, siti Web che ho creato e così via) in un grande repository che posso facilmente clonare su remoto macchine o memory stick / hard disk come backup.
Il problema è che, dal momento che si tratta di un repository privato, e git non consente il check-out da una cartella specifica (che potrei inviare a github come progetto separato, ma fare in modo che le modifiche appaiano sia nel repository principale che nel sub- pronti contro termine)
Ho potuto utilizzare il sistema git modulo, ma non agisce come lo voglio troppo (sottomoduli sono puntatori ad altri repository, e in realtà non contengono il codice vero e proprio, quindi è inutile per il backup)
Attualmente ho una cartella di git-repos (ad esempio, ~ / code_projects / proj1 / .git / ~ / code_projects / proj2 / .git /) e dopo aver apportato modifiche a proj1 lo faccio git push github
, quindi copio i file in ~ / Documents / code / python / projects / proj1 / ed eseguire un singolo commit (invece dei numerosi nei singoli repository). Allora fai git push backupdrive1
, git push mymemorystick
ecc
Quindi, la domanda: come funzionano il tuo codice personale e progetti con i repository git e mantenerli sincronizzati e sottoposti a backup?