J'utilise Sourcetree pour Windows pour un référentiel git et je voudrais annuler un commit non poussé.
Est-ce possible? Si je "révoque le commit", cela crée un deuxième commit qui annule le premier commit, mais je ne veux pas que le premier commit apparaisse du tout dans mon contrôle de code source.
Je pourrais également supprimer mon référentiel local et le retirer à nouveau sans ma validation locale, mais peut-être y a-t-il une autre façon?
atlassian-sourcetree
datasourcecontrol
deimos1988
la source
la source
Réponses:
Une réinitialisation logicielle conservera vos modifications locales.
Source: https://answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree
Éditer
À propos
git revert
: Cette commande crée une nouvelle validation qui annulera les autres validations. Par exemple, si vous avez un commit qui ajoute un nouveau fichier,git revert
pourrait être utilisé pour faire un commit qui supprimera le nouveau fichier.À propos de l'application d'une réinitialisation logicielle: Supposons que vous ayez les validations
A
dansE
(A---B---C---D---E
) et que vous souhaitez supprimer la dernière validation (E
). Ensuite, vous pouvez effectuer une réinitialisation logicielle pour validerD
. Avec une réinitialisation logicielleE
, la validation sera supprimée de git mais les modifications locales seront conservées. Il y a plus d'exemples dans le documentation de git reset .la source
Si vous sélectionnez l'entrée de journal à laquelle vous souhaitez revenir, vous pouvez cliquer sur "Réinitialiser à ce commit". N'utilisez cette option que si vous n'avez pas poussé les modifications de validation inverse. Si vous craignez de perdre les modifications, vous pouvez utiliser le mode doux qui laissera un ensemble de modifications non validées (ce que vous venez de changer). L'utilisation du mixage réinitialise la copie de travail mais conserve ces modifications, et un disque dur se débarrassera complètement des modifications. Voici quelques captures d'écran:
la source
Si vous souhaitez supprimer un commit, vous pouvez le faire dans le cadre d'un rebase interactif. Mais faites-le avec prudence, afin de ne pas gâcher votre repo.
À Sourcetree:
Consultez cet article de blog Atlassian pour en savoir plus sur le rebasage interactif dans Sourcetree.
la source
Si vous êtes sur une autre branche, vous devez d'abord «vérifier cette validation» pour la validation que vous souhaitez supprimer, puis seulement «réinitialiser la branche actuelle sur cette validation» en choisissant la validation précédente de wright, cela fonctionnera.
la source