[git] 두 개의 이전 커밋을 롤백하는 방법은 무엇입니까?
다음 시나리오를 고려하십시오.
- 개발자 A는 커밋을 수행합니다. #n
- Dev. B는 # n + 1을 커밋합니다 .
- Dev. A는 # n + 2를 커밋합니다 .
- 그리고 커밋 # n + 3
그리고 그의 커밋 # n + 2에서 그가 결함을 도입했음을 발견합니다.
어떻게 dev. 그의 마지막 두 커밋을 롤백하고 커밋 # n + 1 에서 계속 개발 합니까?
git reset --hard HEAD~2
* 시도 했지만 dev A의 커밋 #n으로 돌아옵니다 .
답변
n + 1 커밋으로 돌아와야합니다. 아마도 거기에 병합 커밋이있을 것입니다. 당신은 또한 할 수 있습니다git reset --hard <sha1_of_where_you_want_to_be>
경고!!
--hard
현재 커밋되지 않은 변경 사항은 영구적으로 버려집니다.