2016-06-04 4 views
2

것은 나는 다음과 같은 커밋이있는 나무에 일하고 있어요 : -마지막 n 개의 커밋을 취소하는 방법은 무엇입니까?

aaaaaaa Implement function A 
bbbbbbb Implement function B 
ccccccc Implement function C 

내가 준비 영역으로 다시 이러한 변경 사항을 넣어, 즉, 처음 두를 해제 커밋하고 싶습니다. 나는 git reset --soft HEAD^이 마지막 커밋을 un-commit한다는 것을 배웠다. 그러나 나는 많은 커밋을 위해 한 번에 그것을 수행하는 방법을 알고 싶다. git reset --soft HEAD~10이 마지막 커밋에서 10 번째 커밋을 취소하거나 마지막 10 번째 커밋을 커밋하지 않을지 확실하지 않습니다.

+0

'자식 자식이 --soft HEAD를 재설정'~~ --soft HEAD를 재설정'또는'자식이 --soft HEAD를 다시 ^^ 나'~ 2' – Whymarrh

+0

항목 : https : //로 git-scm.com/book/en/v2/Git-Tools-Revision-Selection – Whymarrh

+0

@Whymarrh stackoverflow 또는 그 밖의 곳의 답변은 마지막 n 개의 커밋에 대한 답변이 없습니다. 대답이 아닌 주석으로 쓸 수도 있습니다. 감사합니다. – SloppyJoe

답변

4

먼저 변경하려는 커밋이 공용 저장소로 푸시되지 않았는지 확인하십시오. (그것의 소리에서, 그들은 아직 공개되지 않았습니다.)

당신은 git reset --soft HEAD^으로 바른 길을 가고 있습니다.

HEAD^은 HEAD 이전에 커밋됩니다. HEAD~4은 HEAD 앞에 4 개의 커밋이 있습니다. 그렇지 않으면 모두 커밋됩니다.

Found on GitHub blog

+0

또한,'reset --soft','--mixed' 및'--hard'의 차이뿐만 아니라 작업 영역과 작업 영역에 대해 알고있는 소품입니다. –

+0

실제로 소품. +1 – VonC

관련 문제