2014-09-11 2 views
0

프로젝트에 몇 개의 서브 모듈이 있는데 실수로 모듈을 변경했습니다. 변경 사항을 명시 적으로 체크인하지는 않았지만 리포지토리와 다를 때 하위 프로젝트가 커밋되는 것을 확인했습니다. enter image description here
(숨김 사용)자동 서브 프로젝트 커밋을 되돌리려면 어떻게합니까?

로컬 레포에서 git status을 수행 할 때. 그 하위 프로젝트에 대해 (modified content)을 보였다. 그래서 하위 프로젝트의 하위 디렉토리로 이동하여 변경 사항을 무시했습니다. 지금 git 상태가되면 (수정 된 내용)이 표시되지 않습니다. 그러나, 커밋이 없으므로, 그림에 표시된 부주의 한 커밋을 체크인하거나 되돌릴 수는 없습니다. git revert <green commit hash in pic> 내 로컬 저장소에 커밋이 없으므로 오류가 발생합니다.

내 하위 프로젝트에서 커밋을 되돌릴 수있는 방법을 이해할 수 있도록 도와주세요. 이러한 커밋은 하위 프로젝트의 하위 디렉토리로 이동해도 표시되지 않습니다.

+0

[reflog] (http://git-scm.com/docs/git-reflog)를 확인해보십시오. 해시 또는 커밋 메시지를 사용하여 출력을 grep하여 원하는 커밋을 찾을 수 있습니다. –

답변

0

가장 좋은 방법인지 확실하지 않지만 어떻게해야하는지 알았습니다. 나는 하위 프로젝트에 자식 분기를 수행 할 때

  1. 내가 git checkout -- <file>
  2. 에 의해 내 하위 프로젝트 내 모든 변경 사항을 취소, 그것은 HEAD에서 분리 된 것이다. 나는 git pull origin master을한다.
  3. 이제 루트 프로젝트로 가서 자식 (git) 상태가되면 하위 프로젝트 외에 (new commits)이 표시됩니다. git add <subproject-name>git commit
  4. git push을 사용하여 하위 프로젝트 을 원격 저장소에 변경합니다.
관련 문제