2013-04-22 2 views
0

내 질문과 관련 될 수있는 많은 질문과 답변을 읽었지만 대답을 찾을 수 없습니다. 어쩌면 내가 힘내 사용자가 아니기 때문에. 그렇다면 죄송하며 답변에 대한 링크에 감사드립니다.github - 지점에서 커밋을 제거하는 방법

메인 레포가 있으며 내 스스로 포크했습니다. 그런 다음 내 레포에서 내 컴퓨터로 복제 한 다음 내 컴퓨터에서 작업 한 다음 내 레포에 변경 사항을 적용하고 PR을 주요 레포로 작성합니다. 이것은 흐름입니다.

처음에는 코드 (conf 파일)에 새 파일을 만들고 모든 분기와 관련이없는 커밋을 만들었습니다. 나는 그것을 내 레포에 맡기고 잊었다. 그런 다음 새로운 지점을 만들고 변경했습니다. 내 작업이 끝나면 주 repo에서 가져 오기 및 가져 오기를 수행하고 모든 것을 최신 상태로 유지하여 내 레포에 커밋했습니다. 그런 다음 git hub에서 새로운 저장소를 저장소에 푸시합니다.

내가 알아 차린 PR 전에 파일과 변경 사항을 검사했을 때 config 파일을 사용한 첫 번째 커밋이이 분기에 추가되었습니다. 내 일을하는 사람들은 괜찮다고 나에게 말했다. PR이 병합 될 때 주 repo에 파일이 추가됩니다.

Perfect.

하지만 지금은 새로운 지점 만든 내가

그래서 어떻게 제거 할 수 있습니다 ... 새로운 커밋을 가지고 여전히 내 설정 파일로 커밋이 새로운 지점에 관련된 커밋으로 나타납니다?

QA가 이전 PR을 수락하고 병합 할 때까지 기다려야합니까?

+0

중복? http://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github – 1615903

+0

정확히 ... 나는 지사와 다른 지사에서 커밋을 하나 제거하고 싶습니다. ... – Kania

+0

기록을 다시 쓰는 것이 문제가되지 않는다면,'git rebase -i SHACODE' (SHACODE는 커밋의 SHA 코드 임)를 할 수 있습니다. 그런 다음 해당 커밋에 해당하는 행을 제거하십시오. 그렇지 않으면,'git 되돌리기 '를 할 수는 있지만 커밋은 여전히 ​​역사에 나타날 것입니다. – BenC

답변

0

히스토리를 다시 쓰는 대신 단순히 구성 파일을 삭제하는 master 분기에 추가 커밋을 추가하면됩니다. 이해가 정확하다면 포함시키고 자하는 것입니다. 특정 지점. 거기에에서

git checkout master 
git rm --cached <configfile> 
git commit -m "Removing the configuration file" 
git push origin master 

당신은 마스터에서 분기 할 수 있습니다 그 가지 구성 파일이 없습니다 :

그래서, 시도. 이것은 이미 푸쉬 된 브랜치의 히스토리에 영향을 미치지 않는 멋진 특성을 가지고있다.

관련 문제