Maison  >  Questions et réponses  >  le corps du texte

git 如何回滚

场景:

如果用git reset --hard命令回滚到A修改的版本号,那么B的修改也被丢弃了

过去多啦不再A梦过去多啦不再A梦2727 Il y a quelques jours699

répondre à tous(10)je répondrai

  • 巴扎黑

    巴扎黑2017-05-02 09:39:50

    $ mkdir test
    $ cd test
    $ git init
    $ echo aaaa>a.txt
    $ echo bbbb>b.txt
    $ git commit -a -m "init two files"
    [master (root-commit) 2ca34b8] init
    ...
    $ echo update>a.txt
    $ git commit -a -m "update file a"
    [master **e216f56**] update file a
    ...
    $ echo update>b.txt
    $ git commit -a -m "update file b"
    [master 6906147] update file b
    ...
    $ git revert **e216f56**
    unix2dos: converting file f:/test/.git/COMMIT_EDITMSG...
    dos2unix: converting file f:/test/.git/COMMIT_EDITMSG...
    [master 2a9c653] Revert "update file a"
    ...

    répondre
    0
  • PHPz

    PHPz2017-05-02 09:39:50

    git revert (numéro de version)

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:39:50

    Vous ne perdrez rien en faisant cela, nous faisons tous cela..
    la commande git reset --hard revient au numéro de version modifié par A
    git pull --rebase origin déroule la branche nombre de B Vérifiez le code pour voir s'il y a des conflits. Si les conflits sont résolus
    , git push..

    .

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:39:50

    git reset --soft HEAD@{id}, cela retirera la soumission, mais les modifications dans l'espace de travail ne disparaîtront pas, puis corrigez les mauvaises modifications, soumettez et poussez vers l'extrémité distante

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:39:50

    Dans ce cas, je vérifie généralement le journal directement et restaure le fichier A pour m'assurer que le fichier B est complet

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-02 09:39:50

    Ne pouvez-vous pas simplement modifier les mauvais, puis les soumettre une fois pour les écraser ?

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:39:50

    Ne utilisez git reset pour les commits qui ont été soumis sur la branche publique Si quelqu'un a déjà retiré ces commits, ce sera très gênant
    Dans ce cas, vous devriez utiliser. git revert, ce qui provoquera un seul commit

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-02 09:39:50

    git rebase -i HEAD^^^
    Ouvrez un document avec l'éditeur par défaut, modifiez le A avant de le soumettre à drop ou abrégez-le en d et enregistrez-le.
    La soumission sera automatiquement rejetée (s'il y a un conflit, vous devez résoudre le conflit vous-même)

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-02 09:39:50

    1. git log Afficher le commitId de A B avant A

    2. git reset --hard A's previous commitId

    3. git cerise-pick B’s commitId

    Cette fonction s'appelle la fonction de paiement, qui permet d'obtenir les modifications soumises

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:39:50

    Vous pouvez uniquement annuler, pas réinitialiser. Tout commit qui a été poussé vers la télécommande ne peut pas être réinitialisé ou validé --amend Cela détruira l'historique des versions des autres.

    Pour plus d'informations sur le retour, vous pouvez lire mon article : /a/11...

    répondre
    0
  • Annulerrépondre