Git에서 `git restore --staged` 명령어 사용법

oversleep·2025년 2월 15일
0
post-thumbnail

git restore --staged 명령어는 Git에서 스테이징 영역에 있는 파일을 취소하고 워킹 디렉터리에서 변경 사항을 유지하고자 할 때 사용됩니다. 이 명령어는 특히 파일을 이미 스테이징했으나, 아직 커밋하기 전 수정 사항을 다시 되돌리고 싶을 때 유용합니다.

언제 git restore --staged를 사용할까?

  1. 실수로 잘못된 파일을 스테이징한 경우

    • 예를 들어, 여러 파일 중 한 파일만 커밋하려고 했지만 실수로 다른 파일도 함께 git add로 스테이징했을 때, git restore --staged를 사용하여 그 파일을 스테이징에서 제거하고 다시 수정할 수 있습니다.
  2. 커밋할 필요가 없는 파일이 실수로 추가된 경우

    • 작업 중에 불필요한 파일이나 임시 파일이 스테이징 영역에 추가된 경우, 커밋에 포함되지 않도록 이를 다시 스테이징에서 제거할 수 있습니다.
  3. 작업을 되돌리고 싶을 때

    • 특정 파일을 수정한 후, 그 파일을 스테이징했으나 나중에 수정 사항을 취소하고 싶을 때, 이 명령어로 다시 워킹 디렉터리로 돌아가게 할 수 있습니다. 이렇게 하면 스테이징된 파일은 취소되고, 해당 파일은 여전히 수정된 상태로 남아 있습니다.

git restore --staged 사용법

  • 기본 문법:

    git restore --staged <파일명>

    이 명령어는 특정 파일을 스테이징 영역에서만 제거하고, 워킹 디렉터리에서는 변경된 상태로 유지합니다.

  • 예시 1: 특정 파일을 스테이징에서만 제거하고 수정 상태는 유지:

    git restore --staged src/components/notification/NotificationSettingsModal.tsx

    이 명령어를 실행하면 NotificationSettingsModal.tsx 파일은 스테이징 영역에서 제거되지만, 수정 사항은 여전히 로컬 파일에 남아 있게 됩니다.

  • 예시 2: 여러 파일을 스테이징에서 제거하고 싶을 때:

    git restore --staged .

    이 명령어는 현재 디렉터리의 모든 파일을 스테이징 영역에서 제거하고, 파일 내용은 그대로 유지합니다.

이 명령어를 사용할 때의 주의점

  • git restore --staged를 실행해도 워킹 디렉터리의 수정 내용은 사라지지 않습니다.
    즉, 파일을 다시 git add 하기 전까지 수정한 내용은 그대로 남아 있으므로, 실수로 파일을 덮어쓰는 일이 발생하지 않도록 주의해야 합니다.
  • 이 명령어는 커밋을 되돌리는 것이 아니며, 오직 스테이징된 상태를 해제하는 데에만 사용됩니다. 커밋을 취소하려면 git reset 또는 git revert를 사용해야 합니다.

결론

git restore --staged 명령어는 실수로 스테이징된 파일을 취소하고, 파일 내용을 다시 수정할 수 있도록 해줍니다. 커밋을 하지 않으면서 변경 사항을 유지하고 싶을 때 유용하며, 특히 작업이 많을 때 빠르고 효율적으로 Git을 관리할 수 있게 도와줍니다. 이 명령어를 적절히 활용하면 Git 작업을 보다 쉽게 관리하고 실수를 최소화할 수 있습니다.

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글