기타/git

[Git] 깃 명령어 stash, 수정 중인 파일 감추기 및 되돌리기

책 읽는 개발자_테드 2021. 5. 11. 20:32
반응형

'Do it! 지옥에서 온 문서관리자 깃&깃허브 입문'을 정리, 요약하여 깃의 stash 명령어를 설명하는 글입니다.

www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791163031222&orderClick=LAG&Kc=


브랜치에서 파일을 수정하고 커밋하지 않은 상태에서 급하게 다른 파일을 커밋해야 할 경우가 있다. 이때 아직 커밋하지 않고 작업 중인 파일들을 잠시 감춰두고, 당장 필요한 작업이 끝난 후 감춰둔 파일을 꺼내올 수 있다.

 

▶ ‘st’라는 이름의 디렉토리 생성하고,  git 저장소로 만든다.

$ mkdir st
$ cd st
$ git init

 

▶ git stash 명령어를 사용하려면 한 번은 커밋한 상태(tracked)여야한다. f1.txt 파일을 작성하고, 스테이징 및 커밋한다. 커밋 메시지: f1

$ touch f1.txt

$ git add f1.txt
$ git commit -m "f1"

 

▶마찬가지로 f2.txt 파일을 작성하고, 스테이징 및 커밋한다. 커밋 메시지: f2

 

▶ f1.txt 파일과 f2.txt 파일을 수정한 후 git status 명령어를 사용하면,  두 파일이 수정된 걸 확인할 수 있다.

$ git status

 

▶ f1.txt 파일과 f2.txt 파일을 커밋하기 전에 다른 파일을 수정해야 한다고 가정하자. 두 파일의 수정 내용을 git stash 명령을 사용해 숨길 수 있다.

$ git stash

$ git status

 

▶ 위와 같이 숨긴 파일은 stash 목록에서 확인할 수 있다. 가정 먼저 숨긴 것이 statsh@{0}에 입력되고, 다른 파일이 추가되면 기존 파일은 stash@{1}로 옮겨지고 새로운 파일이 stash@{0}에 담기는 식으로 처리된다.

$ git stash list

 

▶ 다른 작업을 마친 후 숨겨진 파일을 다시 꺼내서 사용할 수 있다.

$ git stash pop

 

반응형