VSCode와 GitLens로 과거 커밋 탐색하고 현재 브랜치로 복귀하는 방법

손지민·2024년 9월 7일
1

GitHub

목록 보기
11/12
post-thumbnail
post-custom-banner

개요

프로젝트를 하다 보면, 과거 커밋으로 돌아가서 특정 시점의 코드 상태, 프로그램 동작 상태를 확인하고, 이후 다시 현재 브랜치의 최신 상태로 돌아와야 하는 경우가 있습니다. 이번 글에서는 VSCode와 GitLens를 사용하여 이 작업을 어떻게 수행할 수 있는지 단계별로 설명하겠습니다.

1. GitLens로 과거 커밋 시점으로 이동하기

GitLens는 Git 히스토리를 쉽게 탐색하고, 특정 커밋으로 이동하는 데 유용한 확장 프로그램입니다.

  1. GitLens 활성화:
    • VSCode 좌측 탐색 패널에서 GitLens 아이콘을 클릭하여 GitLens를 활성화합니다.
  2. 커밋 히스토리 탐색:
    • GitLens에서 특정 파일이나 브랜치의 커밋 히스토리를 탐색할 수 있습니다.
    • 예를 들어, "File History" 또는 "Line History"에서 특정 파일의 커밋 내역을 확인합니다.
  3. 커밋 체크아웃:
    • 탐색 중 원하는 커밋을 선택하고 Checkout 옵션을 클릭하여 해당 커밋 시점으로 이동합니다.
    • 이때, Git은 detached HEAD 상태가 되며, 과거 커밋 시점에서 코드가 실행됩니다.

2. 과거 커밋에서 프로젝트 실행

과거 커밋 상태에서 프로젝트를 실행하여 해당 시점의 코드가 제대로 동작하는지 확인할 수 있습니다. 테스트가 끝나면, 현재 main 브랜치의 최신 상태로 돌아가야 할 필요가 있습니다.


3. 현재 main 브랜치로 돌아오기

과거 커밋에서 테스트를 완료한 후, 다시 현재 main 브랜치의 최신 상태로 복귀하는 방법입니다.

  1. 터미널 열기:

    • VSCode에서 터미널을 열기 위해 Ctrl + Shift ~ (Windows/Linux) 또는 Cmd + ~ (macOS)를 누릅니다.
  2. main 브랜치로 복귀:

    • 과거 커밋에서 다시 main 브랜치로 돌아가려면, 아래 명령어를 실행합니다:
      git checkout main
  3. 최신 main 브랜치 상태로 업데이트:

    • 로컬 main 브랜치가 최신 상태가 아니라면, 원격 저장소의 최신 상태를 가져옵니다:
      git pull origin main

이렇게 하면, 현재 main 브랜치의 최신 상태로 안전하게 돌아올 수 있습니다.


4. 변경 사항 없이 돌아오는 방법

만약 과거 커밋에서 파일을 수정하지 않았다면, git checkout main으로 바로 main 브랜치로 돌아갈 수 있습니다.

  • 파일을 수정했을 경우:
    • Git이 자동으로 경고를 표시하며 변경 사항을 버릴지 묻습니다. 이때:
      • 변경 사항을 버리고 돌아가려면:
        git checkout main --force
      • 변경 사항을 유지하고 싶다면, 변경 사항을 별도의 브랜치로 커밋하거나 저장한 후 돌아갑니다:
        git checkout -b temp-branch  # 새로운 브랜치 생성 및 이동
        git checkout main  # main 브랜치로 돌아가기

결론

이 방법을 사용하면 GitLensVSCode 터미널을 활용하여 과거 커밋 탐색현재 브랜치 복귀를 쉽게 할 수 있습니다. 이 과정에서 변경 사항이 없다면 안전하게 복귀할 수 있으며, 변경 사항이 있을 경우에도 적절한 조치를 통해 복귀할 수 있습니다.

개인적으로는 Git Graph 플러그인을 사용한 이동이 훨씬 직관적이고 편리했습니다.

profile
Developer
post-custom-banner

0개의 댓글