변경 관리 되돌리기
세부 정보:
Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
GitLab에서 개별 커밋 또는 전체 머지 요청을 되돌릴 수 있습니다.
Git에서 커밋을 되돌리면 원래 커밋에서 수행된 모든 작업을 역전시키는 새로운 커밋을 생성합니다. 새로운 커밋은:
- 원래 커밋에서 추가된 줄을 제거합니다.
- 원래 커밋에서 제거된 줄을 복원합니다.
- 원래 커밋에서 수정된 줄을 이전 상태로 복원합니다.
당신의 되돌리기 커밋은 여전히 프로젝트의 접근 제어 및 프로세스의 적용을 받습니다.
머지 요청 되돌리기
머지 요청이 병합된 후, 머지 요청의 모든 변경 사항을 되돌릴 수 있습니다.
필수 조건:
- 프로젝트에서 머지 요청을 편집하고 코드에 추가할 수 있는 역할을 가져야 합니다.
- 귀하의 프로젝트는 Settings > Merge requests에 설정된 병합 방법 Merge Commit을 사용해야 합니다.
GitLab 16.9 및 이후 버전에서는 다음 중 하나의 경우 GitLab UI에서 빠른 전달된 커밋을 되돌릴 수 있습니다:
- 커밋이 압축되었거나
- 머지 요청에 단일 커밋이 포함되어 있습니다.
머지 요청 Example
을 되돌리려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Code > Merge requests를 선택합니다.
- 보조 메뉴에서 Merged를 선택하고, 머지 요청(
Example
)을 선택합니다. - 머지 요청 보고서 영역으로 스크롤하여 Merged by 정보를 보여주는 보고서를 찾습니다.
- Revert를 선택합니다.
- Revert in branch에서 변경 사항을 되돌릴 브랜치를 선택합니다.
- 머지 요청 없이 즉시 되돌리려면:
- Start a new merge request를 지웁니다.
-
Revert를 선택하면
Example
의 되돌리기가 완료됩니다.
- 즉시 되돌리지 않고 새로운 머지 요청에서 되돌리기를 검토하려면 Start a new merge request를 선택하고:
- 되돌리기 머지 요청 필드를 입력한 후 Create merge request를 선택합니다.
- 머지 요청이 병합되면
Example
의 되돌리기가 완료됩니다.
Example
머지 요청을 되돌린 후, 더 이상 Revert 옵션이 표시되지 않습니다.
커밋 되돌리기
저장소의 어떤 커밋도 다음과 같이 되돌릴 수 있습니다:
- 현재 브랜치.
- 새로운 머지 요청.
필수 조건:
- 프로젝트에 대해 머지 요청을 편집하고 코드에 추가할 수 있는 역할이 있어야 합니다.
- 커밋은 이미 되돌려지지 않아야 하며, 이 경우 Revert 옵션이 표시되지 않습니다.
이를 수행하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 커밋을 포함하는 머지 요청을 알고 있는 경우:
- Code > Merge requests를 선택한 후 머지 요청을 선택합니다.
-
Commits를 선택한 후 되돌리려는 커밋 제목을 선택합니다.
그러면 머지 요청의 맥락에서 커밋이 표시됩니다. - 보조 메뉴 아래에서 GitLab은 Viewing commit
00001111
메시지를 표시하며, 여기서00001111
은 커밋의 해시입니다. 커밋 해시를 선택하면
커밋 페이지가 표시됩니다.
- 커밋이 발생한 머지 요청을 모르는 경우:
- Code > Commits를 선택합니다.
- 커밋 제목을 선택하여 커밋에 대한 전체 정보를 표시합니다.
- 오른쪽 상단 모서리에서 Options를 선택한 후 Revert를 선택합니다.
- Revert in branch에서 변경 사항을 되돌릴 브랜치를 선택합니다.
- 머지 요청 없이 즉시 되돌리려면:
- Start a new merge request를 지웁니다.
- Revert를 선택합니다.
- 즉시 되돌리지 않고 새로운 머지 요청에서 되돌리기를 검토하려면 Start a new merge request를 선택하고:
- 되돌리기 머지 요청의 필드를 입력한 후 Create merge request를 선택합니다.
- 머지 요청이 병합되면 커밋 되돌리기가 완료됩니다.
머지 커밋을 다른 부모 커밋으로 되돌리기
머지 커밋을 되돌릴 때, 머지한 브랜치(종종 main
)는 항상 첫 번째 부모입니다.
다른 부모로 머지 커밋을 되돌리려면,
명령 줄에서 커밋을 되돌려야 합니다:
-
되돌리려는 부모 커밋의 SHA를 식별합니다.
-
되돌리려는 커밋의 부모 번호를 식별합니다. (기본값은 첫 번째 부모인
1
입니다.) -
다음 명령을 실행하여
2
를 부모 번호로,7a39eb0
을 커밋 SHA로 바꿉니다:git revert -m 2 7a39eb0
관련 주제
- 공식
git revert
문서 - Git을 사용하여 변경 사항 되돌리기
- 커밋 API를 사용하여 커밋 되돌리기
- 변경 로그에서 되돌린 커밋 처리 방법