J'ai accidentellement poussé une modification par étapes dans une nouvelle branche de Visual Studio 2017 vers mon référentiel local. Il n'a pas été poussé vers le référentiel distant. Je veux m'en débarrasser mais je ne trouve pas de moyen de le faire. J'ai rebasé de la branche principale locale à la nouvelle branche. Ensuite, j'ai supprimé la nouvelle branche. Mais les commits sortants le montrent toujours. Comment le supprimer ou le rétablir?
git
visual-studio
visual-studio-2017
Tony_Henrich
la source
la source
Réponses:
Ouvrez l'onglet Historique dans Team Explorer à partir de la vignette Branches (cliquez avec le bouton droit sur votre branche). Ensuite, dans l'historique, cliquez avec le bouton droit sur la validation avant celle que vous ne voulez pas pousser, choisissez Réinitialiser. Cela ramènera la branche à ce commit et devrait vous débarrasser du commit supplémentaire que vous avez fait. Afin de se réinitialiser avant un commit donné, vous devez donc sélectionner son parent.
En fonction de ce que vous voulez faire avec les changements, choisissez dur , ce qui les éliminera localement. Ou choisissez soft qui annulera le commit mais laissera votre répertoire de travail avec les changements de votre commit rejeté.
la source
Je n'ai pas trouvé une seule bonne réponse qui m'a aidé à me débarrasser de ce problème.
Supposons que le nom de la branche sur laquelle vous avez commis des modifications accidentellement est
master
. Suivre quatre étapes simples s'est avéré être un monde pour moi:master
master
remotes/origin
la source
revert
En supposant que vous ayez envoyé les modifications les plus récentes sur le serveur:
Une fois que vous avez rouvert le projet, les validations et les modifications doivent être nulles.
la source
TL; DR:
Utiliser
git reset --soft HEAD~
dans la cmd du dossier .slnJ'y faisais face aujourd'hui et j'étais submergé que cela
VSCode
suggère une telle chose, alors que ceVisual Studio
n'est pas le cas pour le grand frère .La plupart des réponses ont été utiles; si j'ai plus d'engagements qui ont été faits auparavant, les perdre tous serait frustrant. De plus, si
VSCode
cela se fait en une demi-seconde, cela ne devrait pas être complexe.Seule la réponse de jessehouwing était la plus proche d'une solution simple.
En supposant que le (s) commit (s) indésirable (s) était le dernier à se produire, voici comment je l'ai résolu:
Allez à
Team Explorer
->Sync
. Là, vous verrez tous les commits. Appuyez sur laActions
liste déroulante etOpen Command Prompt
Vous aurez la fenêtre cmd invitée, là écrire
git reset --soft HEAD~
. S'il y a plusieurs commits indésirables, ajoutez le montant après le~
(iegit reset --soft HEAD~5
)(Si vous n'utilisez pas
git
, vérifiez l'utilisation familière).J'espère que cela aidera, et j'espère que dans la prochaine version, l'équipe VS l'ajoutera intégré
la source
Accédez à l'onglet Team Explorer, puis cliquez sur Branches. Dans les succursales, sélectionnez votre succursale parmi télécommandes / origine. Par exemple, vous souhaitez réinitialiser votre branche principale. Cliquez avec le bouton droit de la souris sur la branche principale dans télécommandes / origine, sélectionnez Réinitialiser, puis cliquez sur Supprimer les modifications. Cela réinitialisera votre succursale locale et supprimera toutes les modifications validées localement.
la source
Essayez de rebaser votre branche principale locale sur votre branche principale distante / d'origine et résolvez tous les conflits dans le processus.
la source
Vous avez 2 options pour le faire soit pour annuler tous vos commits sortants, soit pour annuler un commit spécifique.
1- Supprimez tous vos commits sortants:
Pour supprimer tous vos commits sortants Par exemple, si vous avez une branche locale nommée master de la branche distante, vous pouvez:
1- Renommez votre branche locale de maître en n'importe quoi afin de pouvoir la supprimer. 2- Supprimez la branche renommée. 3- Créer une nouvelle branche à partir du maître
Alors maintenant, vous avez une nouvelle branche sans vos commits.
2- Annuler un commit spécifique: Pour annuler un commit spécifique, vous devez annuler le commit inutile par:
1- Double-cliquez sur le commit inutile. Double-cliquez sur le commit inutile 2- Cliquez sur revenir Cliquez sur revenir
Mais pour info, le commit rétabli apparaîtra dans l'historique de vos commits avec le commit de retour.
la source