[git] 두 개의 이전 커밋을 롤백하는 방법은 무엇입니까?

다음 시나리오를 고려하십시오.

  1. 개발자 A는 커밋을 수행합니다. #n
  2. Dev. B는 # n + 1을 커밋합니다 .
  3. Dev. A는 # n + 2를 커밋합니다 .
  4. 그리고 커밋 # 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현재 커밋되지 않은 변경 사항은 영구적으로 버려집니다.


답변