Est-il possible de restaurer un fichier validé dans Git? J'ai poussé un commit vers GitHub puis je me suis rendu compte qu'il y avait un fichier que je ne voulais pas être poussé (je n'ai pas fini les modifications).
mise à jour: ajout de la méthode plus sûre
vérifier l'état précédent (inchangé) de votre fichier; remarquez le double tiret
git checkout HEAD^ -- /path/to/file
commettez-le:
git commit -am "revert changes on this file, not finished with it yet"
Poussez, pas besoin de force:
git Push
retourne à ton travail inachevé, fais encore (3 fois la flèche vers le haut):
git checkout HEAD^ -- /path/to/file
Pour modifier le dernier commit du référentiel HEAD, masquer votre travail forcé par inadvertance, tout en risquant de créer un conflit avec votre collègue qui l’a peut-être déjà fait et qui va avoir des cheveux gris et perdre beaucoup de temps à essayer de réconcilier son chef de succursale avec le central:
Pour supprimer le changement de fichier de la dernière validation:
pour rétablir l'état du fichier avant le dernier commit, faites:
git checkout HEAD^ /path/to/file
pour mettre à jour le dernier commit avec le fichier annulé, faites:
git commit --amend
pour pousser le commit mis à jour dans le référentiel, faites:
git Push -f
Vraiment, envisagez d'utiliser la méthode préférée mentionnée précédemment.
Si vous souhaitez supprimer le fichier du référentiel distant, supprimez-le d'abord de votre projet avec l'option --cache, puis appuyez dessus:
git rm --cache /path/to/file
git commit -am "Remove file"
git Push
(Cela fonctionne même si le fichier a été ajouté au référentiel distant il y a quelques validations.) N'oubliez pas d'ajouter à .gitignore les extensions de fichier que vous ne souhaitez pas envoyer.
Vous pouvez rétablir un seul fichier dans une révision spécifiée.
Tout d'abord, vous pouvez vérifier sur quel fichier le fichier a été modifié.
git log path/to/file.txt
Ensuite, vous pouvez extraire le fichier avec le numéro de révision.
git checkout 3cdc61015724f9965575ba954c8cd4232c8b42e4 /path/to/file.txt
Après cela, vous pouvez commettre et pousser à nouveau.
Réinitialisez le fichier dans un état correct, validez et appuyez à nouveau sur.
Si vous êtes certain que personne d'autre n'a encore récupéré vos modifications, vous pouvez utiliser --amend
lors de la validation, pour modifier votre commit précédent (c’est-à-dire réécrire l’historique), puis Push. Je pense que vous devrez utiliser le -f
lors de la poussée, pour forcer la poussée, cependant.
Récupère le code de hachage du dernier commit.
git log
git revert <hash_code_from_git_log>
git Push
découvrez dans le GHR. vous pourriez obtenir tout ce dont vous avez besoin, j'espère que cela vous sera utile