변경 사항 되돌리기
당신은 GitLab에서 개별 커밋 또는 전체 병합 요청을 되돌릴 수 있습니다.
Git에서 커밋을 되돌리면 원본 커밋에서 수행한 모든 작업을 뒤집는 새로운 커밋이 생성됩니다. 새로운 커밋은 다음을 수행합니다.
- 원본 커밋에서 추가된 줄을 제거합니다.
- 원본 커밋에서 제거된 줄을 복원합니다.
- 원본 커밋에서 수정된 줄을 이전 상태로 복원합니다.
당신의 되돌린 커밋은 여전히 프로젝트의 액세스 제어 및 프로세스의 영향을 받습니다.
병합 요청 되돌리기
병합 요청이 병합되면, 해당 병합 요청의 모든 변경 사항을 되돌릴 수 있습니다.
전제 조건:
- 프로젝트에 대한 역할을 가지고 있어야 하며, 병합 요청을 편집하고 저장소에 코드를 추가할 수 있어야 합니다.
-
당신의 프로젝트는 병합 방법 병합 커밋을 사용해야 합니다. 이는 프로젝트의 설정 > 병합 요청에서 설정됩니다.
GitLab 16.9 이상에서, GitLab UI에서 빠른 전진된 커밋을 되돌릴 수 있습니다. 이 경우, - 커밋이 통합되었거나 - 병합 요청에 단일 커밋이 포함된 경우
병합 요청 예시
를 되돌리려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > 병합 요청을 선택합니다.
- 보조 메뉴에서 병합됨을 선택하고 병합 요청(여기서
예시
)을 선택합니다. - 병합 요청 보고 영역으로 스크롤하고 병합자 정보를 보여주는 보고서를 찾습니다.
- 되돌리기를 선택합니다.
- 되돌릴 브랜치에서 변경 사항을 되돌릴 브랜치를 선택합니다.
- 즉시 되돌리려면, 병합 요청을 시작하지 않고:
- 새 병합 요청 시작를 지웁니다.
-
되돌리기를 선택하면
예시
의 되돌림이 완료됩니다.
- 바로 되돌리지 않고 새 병합 요청에서 되돌림을 검토하려면,
새 병합 요청 시작을 선택한 후:
- 되돌릴 병합 요청의 필드를 작성한 후 병합 요청 생성을 선택합니다.
- 병합 요청이 통합되면,
예시
의 되돌림이 완료됩니다.
예시
병합 요청을 되돌린 후에는 되돌리기 옵션이 더 이상 표시되지 않습니다.
커밋 되돌리기
저장소의 어떤 커밋이든 다음 중 하나로 되돌릴 수 있습니다:
- 현재 브랜치로.
- 새 병합 요청으로.
전제 조건:
- 프로젝트에 대한 역할은 병합 요청을 편집하고 저장소에 코드를 추가할 수 있어야 합니다.
- 커밋이 이미 되돌렸는지 확인해야 합니다. 이 경우 Revert 옵션이 표시되지 않습니다.
다음을 수행하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 커밋이 포함된 병합 요청을 알고 있다면:
- 코드 > 병합 요청을 선택한 후 병합 요청을 선택합니다.
- 커밋을 선택한 후 되돌리려는 커밋의 제목을 선택합니다. 이렇게 하면 병합 요청의 컨텍스트에서 커밋이 표시됩니다.
- 보조 메뉴 아래에서 GitLab은 커밋
00001111
보기라는 메시지를 표시하는데,00001111
은 커밋의 해시입니다. 커밋 해시를 선택하여 커밋 페이지를 표시합니다.
- 커밋이 어디에서 유래했는지 모르는 경우:
- 코드 > 커밋을 선택합니다.
- 커밋 제목을 선택하여 커밋에 대한 전체 정보를 표시합니다.
- 오른쪽 상단에서 옵션을 선택한 후 되돌리기를 선택합니다.
- 되돌릴 브랜치에서 변경 사항을 되돌릴 브랜치를 선택합니다.
- 즉시 되돌리려면, 병합 요청을 시작하지 않고:
- 새 병합 요청 시작를 지웁니다.
- 되돌리기를 선택합니다.
- 바로 되돌리지 않고 새 병합 요청에서 되돌림을 검토하려면,
새 병합 요청 시작을 선택한 후:
- 되돌릴 병합 요청의 필드를 작성한 후 병합 요청 생성을 선택합니다.
- 병합 요청이 통합되면, 커밋 되돌리기가 완료됩니다.
다른 부모 커밋으로 병합 커밋 되돌리기
병합 커밋을 되돌릴 때, 병합한 브랜치(일반적으로 main
)가 항상 첫 번째 부모입니다. 다른 부모로 병합 커밋을 되돌리려면,
명령줄에서 커밋을 되돌려야 합니다:
- 되돌리려는 부모 커밋의 SHA를 식별합니다.
- 되돌릴 커밋의 부모 번호를 식별합니다. (첫 번째 부모는 기본값인
1
로 설정됩니다.) -
다음 명령을 실행하며,
2
를 부모 번호로,7a39eb0
을 커밋 SHA로 대체합니다.git revert -m 2 7a39eb0