Ce n' “fatal: mauvais révision” signifie?
Dans le contexte:
git revert HEAD~2 myFile
fatal: bad revision '/Users/rose/gitTest/myFile'
Je suis sûr que la TÊTE~2 existe.
MODIFIER Ambre est correct. J'ai voulu utiliser reset
au lieu de revert
.
- Rose Perrone - désolé, juste ma réponse par défaut de voir des gens de modifier des notes sur les réponses à des questions. 🙂 N'avait pas vérifié plus loin. Cheers!
Vous devez vous connecter pour publier un commentaire.
Si vous ne voulez revenir un fichier unique de son état dans un commit, vous voulez vraiment utiliser le
checkout
commande:La
revert
commande est utilisée pour revenir ensemble de commits (et il n'a pas de revenir vous à qui s'y engager; il en fait juste pour rétablir les changements fait par qui commettent - si vous avez un autre commit après celui que vous spécifiez, au plus tard, s'engager à ne pas être revenue).J'ai été faire cette erreur à l'Ide, et aucune de ces réponses m'ont aidé. Alors, voici comment je l'ai résolu.
En quelque sorte l'un de mes sous-modules ajoutés un
.git
répertoire. Toutes les fonctionnalités de git retourné après je l'ai supprimé..git
de nouveau./Users/myusername/Developer/myProject/
au lieu de<Project>
et l'erreur est allé loin pour moi aussi. D'autres dossiers avaient.git
en elle et IntelliJ ont dû se confondre.git revert
ne pas prendre un nom de fichier en paramètre. Voulez-vousgit checkout
?J'ai eu un "fatal : mauvais révision" avec l'Idée /Webstorm parce que j'avais un répertoire git à l'intérieur de l'autre, sans utiliser correctement submodules ou les sous-rubriques.
J'ai vérifié pour
.git
dirs avec :Git revert accepte uniquement s'engage
De la documentation:
myFile
est intepretted comme un commit - parce quegit revert
n'accepte pas les chemins d'accès aux fichiers; n'engage queModifier un fichier pour correspondre à une précédente livraison
Pour modifier un fichier pour correspondre à une précédente livraison - utilisation
git checkout
J'ai eu un problème similaire avec Intellij. Le problème était que quelqu'un a ajouté le fichier que je suis en train de le comparer à l'Ide pour .gitignore, sans réellement supprimer le fichier à partir de Git.
Pourquoi êtes-vous en précisant
myFile
là?Git revert revient à la commettre(s) que vous spécifiez.
revient à la
HEAD~2
commettrerevient
HEAD~2
ETmyFile
Je prends
myFile
est un fichier que vous voulez revenir? Dans ce cas, l'utilisationgit checkout HEAD~2 -- myFile
Si vous voulez supprimer les commettre, alors vous pourriez avoir besoin d'utiliser git rebase commande
git rebase -i HEAD~2
il vous montrera les 2 derniers messages de commit, si vous supprimez le message de commit et enregistrer ce fichier supprimé commettre disparaîtra automatiquement...
dans mon cas, j'ai eu un état incohérent où le fichier en question (avec la mauvaise commettre hachage) n'a pas été effectivement ajouté Git, ce sont affrontés en quelque sorte avec l'Ide de l'état.
Ajoutant manuellement le fichier à l'aide de git sur la ligne de commande fixe le problème pour moi.