2010-07-03 6 views
1

이전 커밋에서 부분적으로 후회하는 파일을 수정했고, 누구도 볼 수 없도록했습니다.이전 커밋의 일부 라인을 history에서 완전히 삭제합니다.

이 커밋에서 해당 파일의 변경 사항이 모두 잘못되지는 않았으므로 좋은 파일을 유지해야하므로 커밋을 완전히 제거하지 못합니다.

제 목표는 좋은 라인에 영향을 미치지 않고 나쁜 라인을 히스토리에서 완전히 제거하는 것입니다. 이것이 어떻게 성취 될 수 있는가? 감사합니다.

답변

0

git rebase -i 원하는 것을 수행합니다. 대화 형 모드로 실행하면 편집기를 통해 repo 기록에서 커밋을 편집하거나 완전히 제거 할 수 있습니다. 다음은 그 예이다 : 자식과 편집 기능이 -i을 리베이스에 대해

http://blog.madism.org/index.php/2007/09/09/138-git-awsome-ness-git-rebase-interactive

+0

덕분에, 몰랐다. 어쨌든 내가 서둘러서 더 이상 제안을 기다릴 수 없었기 때문에, 후속 커밋에서 쓰레기를 제거하고, rebased -i를 실행하고, 커밋을 사이에 스쿼시하고, 원하지 않는 코드의 흔적이 사라진 것처럼 보인다. 이것이 git log -p가 말하는 것입니다. git에 대해 몇 가지 교훈을 얻었다. – spaghetticode

관련 문제