특정 커밋을 취소하는 가장 간단한 방법은 다음과 같습니다.
- 머리 나 머리에 없다
- 리모컨으로 밀었습니다.
최신 커밋이 아닌 경우
git reset HEAD
작동하지 않습니다. 리모컨으로 밀렸 기 때문에
git rebase -i
과
git rebase --onto
리모컨에 문제가 발생할 수 있습니다.
더구나, 나는 역사를 정말로 수정하고 싶지 않습니다. 잘못된 코드가 있으면 기록에 있었고 볼 수 있습니다. 나는 단지 작업 복사본에서 그것을 원하고 리버스 병합 커밋을 신경 쓰지 않습니다.
즉, Git 은 다음 svn 명령과 동일합니다.
svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
새 개정으로 해당 개정의 모든 변경 사항을 역 병합하여 295에서 302 로의 모든 변경 사항을 제거합니다.
svn merge -c -302 ^/trunk
물론 해당 커밋의 변경 사항을 역으로 병합하는 다른 커밋을 추가하여 302 커밋을 취소합니다.
나는 그것이 Git에서 상당히 간단한 작업이어야하고 상당히 일반적인 사용 사례라고 생각했다. 원자 커밋의 다른 점은 무엇입니까?
스테이징이 준비 되어 있으며 커밋이 완벽하게 원 자성을 갖도록하기 위해 하나 이상의 원자 커밋을 쉽게 취소 할 수 없습니까?