J'ai un dépôt git branché dans phpstorm sur Windows. J'ai commis quelques ensembles de changements puis les ai poussés vers notre "dépôt central". Après cela, j'ai fait encore quelques commits. Je ne veux plus de ces commits qui n'ont pas été repoussés au dépôt central. Comment nettoyer ma copie de travail pour qu'elle soit la même que le dépôt central (origine)?
git reset --hard remotes/Origin/HEAD
git reset --hard remotes/Origin/YOUR/BRANCH
mieux que /HEAD
parce que vous ne verrez pas ceci:
$ git status
On branch MY/BRANCH
Your branch and 'Origin/MY/BRANCH' have diverged,
and have 1 and 1 different commit each, respectively.
Si vous en êtes sûr et que vous n'avez aucun changement local non engagé:
git reset --hard Origin/master
où Origin/master
est la branche vers laquelle vous aviez poussé.
Le journal de référence contiendra toujours les bits rétablis, jusqu'à ce qu'un ramasse-miettes les expire. Pour annuler le retour,
git reset --hard HEAD@{1}
Vous pouvez annuler la validation locale en
git reset HEAD~N
où N est utilisé pour rétablir le nombre de validations. Un exemple:
si vous devez annuler un commit unique depuis le local, vous pouvez utiliser
git reset HEAD~1
ou git reset HEAD ^
Selon ma compréhension, vous créez un commit que vous avez poussé sur le référentiel central, après cela, vous avez créé un commit supplémentaire, mais ceux-ci existent sur le local. Tout cela n'a pas poussé sur le dépôt central.
Pour supprimer/rétablir la validation locale;
git reset HEAD~{number_of_commit}
simplement, vous appuyez sur git log
sur votre invite de commande et obtenez la liste des validations. Jetez un œil, combien de commit vous avez créé maintenant et combien vous devez revenir.
par exemple, vous devez supprimer. inverser vos deux derniers commit puis appuyer sur
git reset HEAD~2
Il existe un autre moyen de réinitialiser votre référentiel local avec le référentiel central. Mais, dans ce cas, votre validation locale sera supprimée et si d'autres utilisateurs poussent la validation sur le référentiel central, votre référentiel sera mis à jour avec cela.
la commande est:
git reset --hard remotes/Origin/HEAD