Quel est le chemin le plus rapide pour restaurer un référentiel git après une erreur de système de fichiers sur le serveur principal? Imaginez que le serveur central de votre projet OSS échoue et que tous les validations pendant deux jours soient perdues après la restauration. Comment les récupérez-vous? Est-ce suffisant d'appeler "git push" sur tous les clients? Ou y a-t-il autre chose dont je dois tenir compte?Comment faire pour restaurer Git après une erreur fatale du système de fichiers?
Répondre
Chaque dépôt est également une sauvegarde du « référentiel principal » (qui est « principal » que par convention) donc un git push
du dépôt qui a fait le plus récent git fetch
ou git pull
devrait être tout ce qu'il faut, à son état , bien sûr. Vous avez seulement besoin de prendre soin des crochets et autres, mais si vous dites que seuls les deux derniers jours de commits ont été perdus, ceux-ci n'ont probablement pas été blessés de toute façon.
Un git pull
puis un git push
devrait suffire.
Alternativement un git push -f
mettra forcément à jour le serveur avec votre copie locale, mais cela peut poser des problèmes aux autres (s'il y a plusieurs committers). Faites-nous savoir si vous avez d'autres problèmes ou erreurs. Contactez-nous
Je pense qu'il pourrait être préférable de créer un nouveau repo sur le serveur:
% ssh [email protected]
% mv /path/to/repo /path/to/repo.old
% mkdir /path/to/repo
% cd /path/to/repo
% git init --bare
pousser ensuite de tous les différents clones que vous avez. Je pense que cela évitera tout fichier corrompu qui pourrait être dans l'ancien repo, et il ne devrait pas y avoir de perte du tout, à condition que vous travailliez tous sur vos propres clones, et que personne ne déconnecte dans le repo du serveur.
+1 Ce qui m'a donné une nouvelle idée: Pour sauvegarder, je clone le repo. De cette façon, la sauvegarde est toujours dans un état propre lorsque je l'envoie à la bande. –
C'est vrai. Notez aussi qu'un "git clone --depth 1/path/to/repo" est un repo sans historique, et qui pourrait être utilisé pour le déploiement. –
- 1. erreur Git fatale lors branche de commutation
- 2. Erreur Git: fatale: impossible de connecter une socket (argument invalide)
- 3. PHP: Erreur fatale après un formulaire POST
- 4. fatale: Pas un dépôt Git
- 5. Restaurer un fichier depuis Git?
- 6. Comment puis-je restaurer l'état du processus après un plantage?
- 7. Comment faire une requête rapide au système de fichiers?
- 8. Comment faire pour restaurer la base de données mysql
- 9. gérer une erreur fatale dans l'application iPhone
- 10. Comment restaurer ce script après une panne matérielle?
- 11. Erreur fatale: fonction indéfinie - pourquoi?
- 12. Comment réparer une erreur fatale dans joomla 1.0?
- 13. erreur de débutant git - comment récupérer
- 14. Comment puis-je obtenir le chemin du système de fichiers pour une ressource sur iPhone?
- 15. comment faire nutch système de fichiers de crawl?
- 16. Comment faire pour restaurer le datacontext au point de la dernière submitchanges
- 17. PHP Erreur fatale lors du téléchargement/redimensionnement des images
- 18. Récursif du système de fichiers avec Powershell
- 19. test de performance du système de fichiers
- 20. Comment faire un "git checkout -f" de emacs-git?
- 21. Comment faire pour récupérer une erreur lors du lancement de sqlcmd à partir de C#?
- 22. Une question sur le cache du système de fichiers
- 23. Comment faire pour restaurer les lignes insérées OracleBulkCopy()?
- 24. Erreur fatale dans les composants Joomla
- 25. Vitesse du système de fichiers iPhone/iPod
- 26. Système de fichiers TreeView
- 27. Comment faire pour gérer les fichiers de projet IDE avec git-svn
- 28. Comment faire pour restaurer une base de données SQL Server 2005 à partir d'un fichier .BAK local?
- 29. Meilleure architecture pour gérer les modifications du système de fichiers?
- 30. Comment échapper un chemin de système de fichiers pour l'iPhone?
+1 pour les crochets; Je vais l'appliquer demain - hors des votes pour aujourd'hui :(Désolé –
@Bombe: Félicitations, vous venez de passer 5000 points :) –
En effet, je l'ai fait. Je vais supprimer tous vos commentaires! \ o/ – Bombe