[GIT] git stash 써보기

2016. 1. 29. 01:54프로그래밍/형상관리

728x90
728x90

A를 작업하고 있는데 갑자기 B 부분의 테스트가 급하게 들어왔다면?

하지만 A 작업때문에 B를 제대로 테스트 해볼 수 없을 때 코드를 잠시 백업해 둘 수 있다.


stash라는 단어 자체가 챙겨두다? 숨겨두다? 약간 그런 느낌적인 느낌의 단어이다!


1
git stash
cs


아주 예쁜 명령어다.


헬프 명령을 때려보자!

1
2
3
4
5
6
7
8
9
C:\Work\Cpp>git stash help
usage: git stash list [<options>]
   or: git stash show [<stash>]
   or: git stash drop [-q|--quiet] [<stash>]
   or: git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
   or: git stash branch <branchname> [<stash>]
   or: git stash [save [--patch] [-k|--[no-]keep-index] [-q|--quiet]
                       [-u|--include-untracked] [-a|--all] [<message>]]
   or: git stash clear
cs


대충 봐도 무슨 기능을 하는지 알 수 있는 녀석들이다.


예시


touch명령으로 stash1.txt 파일을 생성했다.

하지만 뭔가 새로운 작업을 받게 되어 잠시 이 작업을 저장해 두고 싶은 상황. (stash1.txt엔 엄청난 정보가!)


목록 보기


show, list를 통해 저장되어 있는 stash 정보들을 볼 수 있다.


1
git stash list -p
cs


명령을 쓰면 자세한 diff를 확인할 수도 있다.


stash는 여러개를 저장할 수 있으며 일종의 스택처럼 이용한다고 보면된다.


1
git stash apply
cs


apply 명령은 마지막에 저장한 stash를 적용하는 명령이다.

하지만 현재 저장된 stash 목록을 건드리진 않는다. 그냥 한 마디로 적용만 시키는 것.



1
git stash apply --index stash@{1}
cs


명령을 하면 해당 stash 스택까지 한 번에 적용을 시킨다. 돌리고 돌리고 ~ 돌리고 ~


1
2
3
git stash pop
git stash drop
git stash clear
cs


pop명령은 stash 스택에서 하나씩 적용하면서 제거하는 방식이다.

drop명령은 말 그대로 적용이고 뭐고 없이 제거하는 것!

clear명령은 모든 것을 파괴한다.


역시 정말 Git은 쓰면 쓸수록 훌륭한 것 같다.

728x90
반응형