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

github - 修改一个文件并提交,整个项目的git log是有该次提交记录的,但是那个文件的git log没有提交记录

一个项目,fork 出来,修改了其中一个文件,git commit & push,然后获取上游的更新,并和自己的代码 merge,merge 后我对原来那个文件的修改被合并,变成上游的代码,现在我想把该文件回退到之前我修改并提交的状态,但是我用 git log 查看的时候出现了标题说明的问题…十分不理解…
(图里,我是 hyzhang)

项目在这里

PHP中文网PHP中文网2735 Il y a quelques jours921

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

  • 習慣沉默

    習慣沉默2017-04-24 16:02:42

    Parce que vous avez utilisé -2 et que les modifications fusionnées en amont sont plus récentes que les vôtres, vos propres modifications sont donc classées en dehors du top 2. N'utilisez pas -2, vérifiez l'historique complet, recherchez la version que vous souhaitez restaurer, vérifiez-la puis validez.

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-24 16:02:42

    Installez git extras, puis exécutez git revert, il gérera tout pour vous

    répondre
    0
  • 黄舟

    黄舟2017-04-24 16:02:42

    Essayez git log --pretty=oneline modules.rst

    Après avoir vu cette interface, je recommande quand même tig

    J'ai clone ajouté votre bibliothèque, puis j'ai checkout déplacé vers votre précédente commit puis j'ai créé une nouvelle branche puis j'ai effectué l'opération diff Voici le résultat :

    .

    De fix typo and translation à Merge...Aucun modules.rst historique des modifications

    Il n'y a toujours aucun enregistrement de modification pour add... de fix typo and translation à modules.rst

    De fix typo à add... enfin l'enregistrement de modification de modules.rst apparaît

    Il est donc évident que l'enregistrement git de log est correct. Votre récent commit n'a pas modifié le fichier modules.rst, alors comment a-t-il pu apparaître dans log ?

    Les quatre derniers commit enregistrements :

    Selon les résultats de git diff, il peut être déterminé que la soumission de fix typo à add... est l'opération la plus récente sur modules.rst, donc visualiser le modules.rst de log ne sera certainement que afficher jusqu'à add... Cette fois commit.

    Entrez la commande git log --merges pour afficher merge pour commit :

    L'avez-vous trouvé ? Par rapport au merge précédent, votre merge existe conflict cette fois, et ce conflict est lié à votre fichier problème modules.rst, donc j'analyse que cela devrait être le problème, et ce devrait être vous. les fichiers ont généré des conflits, mais vous n'avez pas résolu les conflits et merge avez réussi. Ces conflits ont été ignorés pour des raisons inconnues, ils n'entreront donc pas dans l'historique de commit dans le cadre de log. D'accord, il est temps de se reposer. J'espère que la réponse sera utile à la personne qui pose la question. :)

    répondre
    0
  • Annulerrépondre