반응형
단일 커밋의 일부로 여러 커밋을 되 돌리는 방법
이것은 중요한 문제가 아니라 가능한지 여부를 알고 싶은 것입니다.
이제 우리는 두 커밋, 있다고 가정 해 봅시다 abcd123
과 wxyz789
멀리 다시 환매 특약의 역사에서, 인접하지 않은 별도의 장소에서 발생. 이제 되돌리고 싶다고 가정 해 보겠습니다. 하기
git revert abcd123 wxyz789
두 개의 개별 커밋이 발생합니다. 하나는 되돌리고 abcd123
다른 하나 는 되돌 wxyz789
립니다.
이것은 모든 잘 잘하지만, 우리가 두 커밋에서 수정하려는 실수가 논리적으로, 자기 문서의 목적을 위해 연결되어있는 경우, 우리는 하나 하나 "를 포함하는 커밋 하나 하나하고 싶습니다 무엇을 내가 이제 뭔가를 파산을 파일 x, y 및 z "코멘트를 되돌리고 있습니까? 이 작업을 수행하는 git 명령이 있습니까?
(물론 모든 변경 사항을 수동으로 수정 한 다음 푸시하는 커밋을 생성 할 수 있음을 알고 있습니다. 이것은 모든 불명확 한 이유로 고통 스럽습니다.)
넌 할 수있어:
git revert abcd123
git revert --no-commit wxyz789
git commit --amend
... 그런 다음 두 커밋을 되 돌리는 결합 된 효과를 설명하는 적절한 커밋 메시지를 작성합니다.
서로 변경되는 복잡한 되돌리기의 경우 revert --no-commit
문제가 될 수 있습니다.
내 간단한 해결책은 실제 되돌리기와 스쿼시를 수행하는 것입니다.
git revert <all commits>
git rebase -i
그런 다음 squash
첫 번째를 제외한 모든 되돌리기를으로 표시 하여 단일 커밋을 만듭니다.
git revert -n <commits>
git commit
첫 번째 명령은 커밋을 생성하지 않고 모든 되돌리기를 수행하고 최종 결과를 준비합니다 (-n 옵션). 그 후 commit 명령은 단일 커밋을 생성합니다.
반응형
'program tip' 카테고리의 다른 글
iPhone 앱용 여러 테마 / 스킨을 만드는 방법은 무엇입니까? (0) | 2021.01.06 |
---|---|
상위 뷰 컨트롤러에서 모달 뷰 컨트롤러의 해제를 어떻게 감지 할 수 있습니까? (0) | 2021.01.06 |
문자열 내에서 지정된 문자의 모든 색인 찾기 (0) | 2021.01.06 |
PHP if in_array () 키를 얻는 방법은 무엇입니까? (0) | 2021.01.06 |
AngularJS : 서버 측 유효성 검사와 통합 (0) | 2021.01.06 |