8
votes

Git Bare - Que sauvegarder?

Je suis désolé si cela est couvert ailleurs, mais je ne trouve pas la réponse.

J'ai un repo nu, appelé nu.git, qui est le référentiel d'où sont clonés les repos de Dev. Tout fonctionne bien.

Je veux savoir où nue.git obtient les fichiers source de. Sont-ils stockés sous forme de fichiers binaires à l'intérieur de la structure de fichiers Bare.Git? Je peux emménager nue.git vers un autre endroit et je suis toujours cloné, de sorte que la source doit, d'une certaine manière, être portable. Ou est-ce qu'il stocke des références de réseau absolues aux fichiers?

Il y a trois raisons principales que je veux savoir ces informations:

  1. Nous devons savoir quoi sauf.
  2. Mon patron veut savoir où le code source est parti.
  3. Nous avons besoin d'une version composite actuelle pour les tests.

3 commentaires

@Yourboss - Les génies de code source magique ont mangé.


GIT a une sorte de base de données dans un clone normal ou dans le référentiel.git dans un référentiel nu. Le référentiel nu n'a pas de fichier d'enregistrement (qui est la définition d'un référentiel nu) afin que les fichiers source sont tous dans la "base de données", dans objets / ?? / * ou objets / *. Vous devez sauvegarder tout le nu.git.


@Paddy - Vous voulez dire que les gits l'ont mangé?


3 Réponses :


5
votes

Pourquoi voudriez-vous pas sauvegarder tout le repo?

voir Le modèle d'objet git et Comment git stocke des objets .


1 commentaires

Eh bien, je ne savais pas si le repo contenait la source ou juste les différences, d'où ma question. Bons liens - je n'avais pas trouvé ceux-ci.



6
votes

Vos fichiers source sont stockés dans la partie de l'index à l'intérieur de la structure de fichiers Bare.git, identique à celle que vous avez dans le répertoire .git dans l'un de vos clones.

Alors, il est préférable de sauvegarder intégralement nu.git.

Vous pouvez obtenir une version actuelle pour tester en clonant votre repo nu.


0 commentaires

1
votes

sauvegarde tout le dossier nu.git ne pas manquer, vous pouvez toujours le cloner plus tard.

Lorsque vous souhaitez tester le code source, vous devez le cloner. L'article Utiliser GIT Pour gérer un site Web montre un moyen de faire face à la question par Vérification de l'ensemble de la repo après chaque poussée à nu.git , automatiquement bien sûr. Ce code est ce que vous devez tester (sauf si vous souhaitez le faire avant de pousser à nu.git, dans pré-commistez ou pré-recevoir .


1 commentaires

Merci pour le lien - très utile