• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

git restore 질문

21.12.23 01:07 작성 조회수 223

1

안녕하세요.

좋은 강의 감사합니다!

git restore에 대한 이해가 잘 가지 않아서 질문드립니다.

강의 중에 git restore가 나왔는데, 특정 파일의 변경사항을 제거하고 HEAD 기준으로 되돌리고 싶을 때, restore를 사용할 수 있다고 언급되어 있습니다.

git reset이 이미 있는데, git restore 명령어가 따로 있는 이유가 무엇인지 이해가 잘 안가네요.

git restore 명렁어를 쓰는 경우가 대표적으로 언제인가요?

강의 중에 git restore는 생성한 파일을 지우지는 않는다고 했는데, 그러면 새로운 파일을 생성하고 변경했는데, 변경 사항만 지우고 파일은 그대로 두고 싶을 때 사용하는건가요?

또한, git restore을 쓰는 시점이 commit 진행 후, 다시 이전 commit으로 돌아가고 싶을 때 쓰는건지, 특정 수정사항을 index 상태로 올렸는데 이를 다시 workspace상태로 돌리고 싶을 때 쓰는건지 궁금하네요. 

 

답변 1

답변을 작성해보세요.

1

안녕하세요 :)  좋은 질문 감사합니다!

우선 restore는 최근 git version(2.23)에 생긴 기능으로, 기존 git checkout 명령어가 가지고 있던 방대한 기능을 쪼개고자 switch와 함께 나오게 된 명령어입니다. 

restore는 특정 파일의 변경 사항을 내리고 싶을 때 사용합니다.  대표적으로 index(staging) -> workspace로 내릴 때는 git restore --staged 파일명, workspace -> 제거할 때는 git restore 파일명으로 사용합니다. 이때 reset과 달리 restore는 생성한 파일이 따로 내려가지 않는다는 점이죠. 그래서 변경 사항만 지우고 파일을 그대로 둘 때 restore를 활용하기도 합니다. 

 

참고1: 사실 git restore도 많은 옵션들이 있으니 더 궁금하시면 구글링을 추천드립니다.

참고2: git reset restore 모두 적용되는 상황이라면 저도 reset 익숙하다 보니 이를 많이 활용합니다!