2012-06-24 4 views
3

필자는 이전에 'X'기능을 사용하고 있었고 다른 관련 파일과 함께이 기능과 관련이없는 실수로 파일을 커밋 한 내 git 내역을 저질렀습니다.git에서 잘못된 커밋에 추가되는 파일을 처리하는 방법은 무엇입니까?

지금 실제로 실수로 커밋 된 파일과 실제로 관련된 'Y'기능에 대해 작업하고 있습니다.

이 시나리오를 최선의 방법으로 처리하는 방법은 무엇입니까?

+0

이 방법의 repo가 ​​구성되어? 즉, 기능 X가 다시 '마스터'로 병합되고 기능 Y가 어디에서 분기됩니까? 마지막으로, 해당 파일에 숨겨진 '문제'(있는 경우)는 무엇입니까? 'unfix'하지 않고도 계속 진행할 수 있습니다. 다음 Y 커밋에 메모를 추가하기 만하면됩니다. –

+0

나는 'master'와 'version X'를 가지고있다. 나는 X 버전 분지에서 일하고 있는데, 내가 가지고있는 모든 것은 일련의 커밋이다. –

+0

게시 된 기록이있는 원숭이는 사용하지 마십시오. git-notes로 커밋을 보충하고 계속 진행하십시오. –

답변

5

그건 내가 당신의 문제를 다룬 것입니다 방법은 다음과 같습니다

대화 형 REBASE를 시작

git rebase -i COMMIT-OF-FEAT-X^ # notice the^at the end 

그런 다음 당해 편집에 커밋 선택으로 변경합니다.
그런 다음 특정 커밋을 (더 나은 문구를 제안하십시오)에있을 것입니다.

은 커밋에서 파일을 제거

git remove --cached wrong_file 

그 파일은 추적되지 것입니다. 당신이 완료

git rebase --continue 

:

는 REBASE를 계속합니다.

이제 막 위업-Y 지점으로 전환하고, 파일을 추가 커밋 또는 당신이 그것으로 원하는 건 뭐든지 할 수 있습니다

git co feat-Y 
git add wrong_file 
관련 문제