Maison > Questions et réponses > le corps du texte
一个项目,fork 出来,修改了其中一个文件,git commit & push,然后获取上游的更新,并和自己的代码 merge,merge 后我对原来那个文件的修改被合并,变成上游的代码,现在我想把该文件回退到之前我修改并提交的状态,但是我用 git log 查看的时候出现了标题说明的问题…十分不理解…
(图里,我是 hyzhang)
项目在这里
習慣沉默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.
过去多啦不再A梦2017-04-24 16:02:42
Installez git extras, puis exécutez git revert, il gérera tout pour vous
黄舟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. :)