Je suis débutant dans git et je travaille sur git.
J'ai ajouté quelques fichiers dans git:
git add <file1>
git add <file2>
alors je voulais pousser cela pour examen, mais par erreur je l'ai fait
git commit
les fichiers que j'ai modifiés ne font donc pas l'objet de critiques.
Maintenant, si j'entre la commande:
git status
ça dit
# On branch master
# Your branch is ahead of 'Origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Je veux annuler cette validation et envoyer les fichiers à la révision plutôt que de les valider. Quelqu'un peut-il me dire comment je peux le faire?
Vous ne pouvez pas pousser quelque chose qui n'a pas encore été commis. L'ordre des opérations est le suivant:
git add
- cela met en scène vos modifications pour vous engagergit commit
- cela valide vos modifications planifiées localementgit Push
- ceci transfère vos modifications validées vers une télécommandeSi vous poussez sans vous engager, rien ne sera poussé. Si vous commettez sans ajouter, rien ne sera commis. Si vous ajoutez sans engager, rien ne se passe, git se souvient simplement que les modifications que vous avez ajoutées doivent être prises en compte pour le commit suivant.
Le message que vous voyez (votre branche est en avance de 1 commit) signifie que votre référentiel local a un commit qui n'a pas encore été poussé.
En d'autres termes: add
et commit
sont des opérations locales, Push
, pull
et fetch
sont des opérations qui interagissent avec une télécommande.
Dans la mesure où il semble exister un flux de travail de contrôle de source officiel en place, vous devez demander en interne comment procéder.
git reset HEAD^ --soft
(Sauvegarde vos modifications, retour à la dernière validation)
git reset HEAD^ --hard
(Annuler les modifications, retour à la dernière validation)
Si vous voulez juste jeter les modifications et revenir au dernier commit (celui que vous vouliez partager):
git reset --hard HEAD~
Vous voudrez peut-être vérifier pour vous assurer que vous voulez absolument ceci (git log
), car vous perdrez toutes les modifications.
Une alternative plus sûre consiste à courir
git reset --soft HEAD~ # reset to the last commit
git stash # stash all the changes in the working tree
git Push # Push changes
git stash pop # get your changes back
J'ai résolu ceci en exécutant simplement un simple:
git pull
Rien de plus. Maintenant, il montre:
# On branch master
nothing to commit, working directory clean
git réinitialiser HEAD ^
alors les fichiers modifiés devraient apparaître.
Vous pouvez déplacer les fichiers modifiés dans une nouvelle branche
utiliser, git checkout -b newbranch git checkout commettre -m "fichiers modifiés" git Push Origin newbranch
maître de caisse
alors vous devriez être sur une branche propre et vos modifications doivent être stockées dans newbranch. Vous pouvez ensuite fusionner ce changement dans la branche principale
git reset HEAD <file1> <file2> ...
supprime les fichiers spécifiés du prochain commit