티스토리 뷰

Git

#11 git stash -코드 잠깐 보관하기

RadderNepa 2022. 11. 16. 01:15

출처 - 네이버 사전

● git stash : 코드 잠깐 다른 곳에 보관하기
- 쓰레기 코드를 짜버렸다.
- 이 쓰레기를 잠깐 치워놓고 개발하고 싶으면 주석 처리해도 되지만 git stash 명령어를 이용해 잠깐 코드를 치울 수 있다.

- 파일(git-stash.txt)을 하나 만든 후 commit 했다.

 

- 그 후에 위 사진과 같이 내용을 또 추가했다. commit은 아직 하지 않은 상태이다.

- 근데 새로 추가한 코드가 마음에 들지않는것이다. 이것을 잠깐 삭제하고 싶으면 git stash 명령어를 사용하면 된다.

출처 - 코딩애플 매우쉽게 알려주는 git & github

git stash

git stash save "stash 내용 메모" --> git stash 할 때 메모도 함께 입력할 수도 있다.

- 위의 명령어를 터미널에 입력하면 방금 작성한 코드는 잠깐 다른 공간에 보관된다.
파일들은 최근 commit 상태로 되돌아간다.
staging 여부와 상관없이 git이 추적중인 파일은 다 이동된다.

- 단, 새로 만든 파일인데 단 한 번도 staging 되지 않았다면 이동되지 않는다.(적어도 한 번은 add & commit 해야한다.)

현재 garden branch에서 작업 중이다.

- git stash 명렁어를 입력했더니 2번째 줄의 내용이 사라졌다.

cf) 직접 해보니 git stash 명렁어 한 번으로 여러개의 파일을 stash 할 수 있었다. 명령어 한 번에 하나의 파일만 되는건 아니었다.

 

git stash list

- git stash 명령어는 여러번 할 수 있다.
- 위의 명령어는 현재 stash 되어있는 코드 목록을 전부 출력해주는 명령어이다.

git stash list


● 보관했던 코드 다시 불러오기

git stash pop

- 위의 명령어를 이용해 잠깐 보관했던 코드를 다시 불러올 수 있다.
- git stash 했던 코드가 여러개 있으면 가장 최근에 보관했던 코드부터 먼저 불러온다.(가장 최근에 들어온 것 부터 먼저나간다.)

출처 - 코딩애플 매우쉽게 알려주는 git & github
git stash pop 전
git stash pop 후 / 코드가 다시 돌아왔다.(한 번에 2개 파일을 stash 했었다.)

- 만약 현재 코드와 겹치는 부분이 있으면 conflict가 발생한다. 이건 알아서 해결해라


stash 관련 명령어

git stash drop 삭제할id
--> 특정 stash 삭제
--> 삭제할 id는 git stash list에서 출력되는 0, 1, 2 같은 숫자이다.

git stash clear
--> 모든 stash 삭제

git stash -p 
--> 전체 말고 일부 코드만 git stash 하고 싶을 때 사용
--> 파일을 훑어주면서 stash 할 지 의견을 물어보는데 y/n 으로 대답하면 된다.

git stash drop 삭제할id
git stash clear
git stash -p

- gitstash1.txt 파일에만 y하고 gitstash2.txt 파일에는 n 했더니 gitstash1.txt의 내용만 stash에 보관됐다.

 

 

▶ 참고

- 이렇게 보면 차라리 주석 처리를 하는게 더 빠르고 좋은 것 같다. 하지만 용도가 비슷해도 git stash와 주석 처리는 차이점이 있다.
주석 처리된 코드는 commit 할 때 같이 반영이 되기에 주석도 commit 기록에 남아 기록이 더러워질 수 있다.
- 따라서 주석 처리한 내용을 commit 하기 싫으면 git stash를 사용하자
- 혹은 기능 A, B를 만들어야 하는데 A는 완성되었고 B는 제작 중인데 commit을 하려고 할 때 B 부분만 임시로 git stash 하는 식으로도 사용할 수 있다.

Q. 그냥 branch 새로 만들어서 거기다 코드짜놓는거랑 별반 차이 없는디?
A. 맞다. 간단히 branch 만들어서 거기 보관하는 것도 나쁘지 않은 방법이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함