2012-01-23 2 views
0

최근 팀에서 더 많은 일을하려고 할 때 더 힘이 들었습니다. 시스템에서 일부 충돌이 발생하여 개발자가 단순히 git reset (마지막 HEAD 인덱스 가져 오기) 작업을 수행했습니다. 그런 다음 개발자는 하나의 파일을 "변경"하여 변경 한 다음 원격으로 푸시합니다. 당연히 꽤 많은 변화가 사라졌습니다.git 재설정 커밋 및 푸시 발행

그러나 누가 나쁜 변화를했는지 (그리고 나쁜 커밋을했는지) 파악하는 데는 상당한 시간이 걸렸습니다. 복구하는 데는 많은 노력이 필요했습니다. 이제 git 히스토리 (git 또는 git log 사용)에서는 어떤 파일이 커밋되었는지 보여 주지만 이전 파일을 덮어 쓰는 경우입니다 (이 개념은 CVT가 아니라 git가 아니며 파일이 이전 커밋으로 이동 한 것임을 알고 있습니다.)). 이 경우 디버깅하는 가장 좋은 전략은 무엇입니까?

어떤 브랜치가 불쾌한 지 알게되면, 좋은 커밋과 나쁜 커밋 사이의 git diff를 수행하면 파일 목록을 볼 수 있지만 특정 커밋 만보고, 이전 파일로 이동 한 파일을 찾을 수 있습니까? 범하다.

문제가 완전히 밝혀지지 않으면 사과하십시오.

답변

0

git log -p branch-in-question의 출력을 살펴보면 변경 사항이 파일별로 표시됩니다. 이제 git checkout <some commit> -- some files을 수행하여 분기를 다시 수행하면됩니다. 모든 변경 사항을 추가하고 커밋하고 푸시합니다. 여기부터 잘해야합니다.