>  Q&A  >  본문

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

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

项目在这里

PHP中文网PHP中文网2736일 전927

모든 응답(3)나는 대답할 것이다

  • 習慣沉默

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

    귀하가 -2을 사용했고 병합된 업스트림 수정 사항이 귀하의 수정 사항보다 최신이므로 귀하의 수정 사항이 상위 2위 밖에 순위가 매겨졌습니다. -2을 사용하지 말고 전체 기록을 확인하고 복원하려는 버전을 찾아서 확인한 다음 커밋하세요.

    회신하다
    0
  • 过去多啦不再A梦

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

    git extras를 설치한 다음 git revert를 실행하면 모든 것이 자동으로 처리됩니다

    회신하다
    0
  • 黄舟

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

    해 보세요 git log --pretty=oneline modules.rst

    이 인터페이스를 본 후에도 tig를 추천합니다

    clone 라이브러리를 추가한 다음 checkout 이전 commit으로 이동한 다음 새 브랜치를 만든 다음 diff 작업을 수행했습니다. 결과는 다음과 같습니다.

    fix typo and translation부터 Merge...없음modules.rst수정 내역

    까지

    아직 add...에서 fix typo and translation에서 modules.rst

    으로 수정된 기록이 없습니다.

    fix typo부터 add...까지 드디어 modules.rst의 수정 기록이 나옵니다

    그래서 gitlog 기록이 맞는 것은 분명합니다. 최근 commit에서 modules.rst 파일을 수정하지 않았는데 어떻게 log에 나타날 수 있겠습니까?

    최근 4개의 commit 기록:

    git diff의 결과에 따르면 fix typo부터 add...까지의 제출이 modules.rst에 대한 가장 최근 작업임을 확인할 수 있으므로 modules.rstlog만 보는 것은 당연합니다. 이번에는 add...까지 표시됩니다. commit

    에 대한 git log --merges을 표시하려면 merge 명령을 입력하세요. commit

    찾으셨나요? 이전

    과 비교해 이번에는 mergemerge 존재하고, 이 conflict는 문제 파일 conflict과 연관되어 있으므로 이것이 문제가 되어야 하고, 당신이 해야 한다고 분석합니다. 파일에서 충돌이 발생했지만 충돌을 해결하지 않았으며 modules.rst이 성공했습니다. 이러한 충돌은 알 수 없는 이유로 무시되었으므로 merge의 일부로 commit 기록에 입력되지 않습니다. 자, 이제 휴식을 취하실 시간입니다. 답변이 질문자에게 도움이 되기를 바랍니다. :)log

    회신하다
    0
  • 취소회신하다