Avec SVN, j'avais un seul grand référentiel que je conservais sur un serveur et que je retirais sur quelques machines. C'était un très bon système de sauvegarde et cela m'a permis de travailler facilement sur n'importe laquelle des machines. Je pourrais vérifier un projet spécifique, commettre et mettre à jour le projet «maître», ou je pourrais vérifier le tout.
Maintenant, j'ai un tas de dépôts git, pour divers projets, dont plusieurs sont sur github. J'ai aussi le référentiel SVN que j'ai mentionné, importé via la commande git-svn ..
Fondamentalement, j'aime avoir tout mon code (pas seulement des projets, mais des extraits et des scripts aléatoires, certaines choses comme mon CV, les articles que j'ai écrits, les sites Web que j'ai créés, etc.) dans un grand référentiel que je peux facilement cloner à distance machines, ou clés USB / disques durs comme sauvegarde.
Le problème est que, puisqu'il s'agit d'un référentiel privé, et que git ne permet pas l'extraction d'un dossier spécifique (que je pourrais pousser vers github en tant que projet séparé, mais que les modifications apparaissent à la fois dans le référentiel maître et dans le sous-dossier. repos)
Je pourrais utiliser le système de sous-modules git, mais il n'agit pas non plus comme je le souhaite (les sous-modules sont des pointeurs vers d'autres référentiels, et ne contiennent pas vraiment le code réel, donc c'est inutile pour la sauvegarde)
Actuellement, j'ai un dossier de git-repos (par exemple, ~ / code_projects / proj1 / .git / ~ / code_projects / proj2 / .git /), et après avoir modifié proj1 git push github
, je copie les fichiers dans ~ / Documents / code / python / projects / proj1 / et faites un seul commit (au lieu des nombreux dans les dépôts individuels). Alors fais git push backupdrive1
, git push mymemorystick
etc.
Donc, la question: comment votre code personnel et vos projets avec les référentiels git, et les garder synchronisés et sauvegardés?