Je pense à démarrer un petit projet et je veux faire sa gestion des versions avec git.
Bitbucket semble être une bonne option pour moi avec leur forfait gratuit. Je souhaite l'utiliser comme principal outil de travail avec git car ils disposent d'outils utiles, tels qu'une interface Web, un client Mac OS, etc. Toutefois, afin de bénéficier d'une protection accrue contre les dommages accidentels pouvant être causés par l'utilisation d'un service tiers, je souhaite également installer git sur mon NAS en tant que seconde copie de sauvegarde du référentiel.
Ma question est la suivante: est-il possible de créer un référentiel sur deux hôtes différents, puis de les synchroniser? Par exemple, supposons qu'une fois par semaine je mette à jour le référentiel sur mon NAS pour qu'il corresponde à celui de Bitbucket. Ensuite, si quelque chose se produit avec Bitbucket, je conserverai le référentiel complet avec l'historique complet du développement sur mon stockage NAS local.
Et est-il possible d'importer un référentiel existant avec l'historique complet vers un autre service git?
Je pense que le reflet est ce dont j'ai besoin. Cet article semble décrire exactement ce dont j'ai besoin. Et celui- ci aussi.
Je crois qu'il en fera une copie complète avec l'historique complet et que même les nouvelles versions seront automatiquement validées dans les référentiels des deux hôtes.
Ai-je raison?
Réponses:
Oui, c’est exactement la beauté de DVCS comme Git. Vous pouvez utiliser un nombre quelconque de dépôts avec le même état que celui de bitbucket ou de github.
Même votre copie locale (le référentiel sur votre ordinateur) est généralement un clone complet du référentiel distant.
La seule chose que vous ayez à faire pour garder plusieurs pensions synchronisées en synchronisation consiste à en extraire une (généralement appelée origine ou en amont) et à la placer sur les copies de sauvegarde.
la source
Voici une solution testée pour le problème: Référentiels Git distants Automatic Sync 2
Un script simple pour la synchronisation de 2 référentiels Git distants
J'ai cherché sur le Web un script simple à synchroniser. 2 dépôts distants mais je ne pouvais pas trouver un tel script, même si beaucoup semblent le chercher! J'ai donc créé 2 référentiels de test simples et commencé à tester et à créer ce script.
Qu'est-ce qu'un tel script devrait faire?
En général, les étapes à suivre sont simples: 1. Clonez le premier référentiel. 1. Ajoutez le deuxième en tant que référentiel distant supplémentaire. 1. Récupérez tout ce qu'il y a dans le deuxième référentiel. dépôts distants.
La question qui reste est la suivante: quels sont les bons commutateurs pour toutes les commandes git ci-dessus?
Alors la voici ...
2repos-sync.sh script gisp
NOTE - Ce script ne résout pas les problèmes de conflits entre le contenu du référentiel!
la source
J'utilise un GitLab privé pour stocker tous mes référentiels, de sorte que je n'ai qu'une origine sur laquelle je peux pousser et tirer pendant que je développe quotidiennement.
Mais, pour les projets open source, GitHub est une communauté beaucoup plus dynamique. Par conséquent, si je souhaite accepter les contributions de la communauté à mes projets, j'utilise le système de hook Web de GitLab Web pour envoyer une requête ping à un serveur que je lance, puis met à jour mon dépôt public sur GitHub.
Cela me permet de traiter GitHub comme une autre télécommande que je peux extraire lorsque quelqu'un contribue - puis je fusionne - aucun-ff localement, et il y a un flux vers la façon dont tous mes référentiels principal et public distribuent les modifications.
la source