괴발개발 성장기

Study/GIT

[Git] git stash

지니유 2023. 10. 17. 08:47
반응형

# 배경

회사 동료와 git 이야기를 하다가 stash를 서로 다른 방식으로 사용한다는 것을 알았다.
나는 모르고 dev에서 코드를 짜를 때 stash를 한 후 해당 브랜치로 이동할 때 많이 사용한다. 그리고 임시저장한 것을 불러올 때 git stash apply를 많이 사용한다.
회사 동료는 충돌을 방지하기 위해서 사용한다고 한다. stash 한 다음에 pull 받고 git stash pop으로 불러온다고 했다.
그래서 git stash를 알아봤다.

 

# git stash 사용목적

- 빠른 브랜치 전환을 할 때 임시적으로 저장할 수 있다.
- 일부 변경 사항은 아직 커밋하고 싶지 않을 때 임시로 저장할 수 있다.
- 충돌을 해결할 수 있다. => 작업 끝나면 stash 해놓고 pull 받고 git stash pop으로 꺼내 온다.

 

# git stash 

- 현재 작업 중인 변경 사항을 임시로 저장하고 나중에 다시 적용시키는 명령어이다.

# git stash save

- 메시지를 적어서 저장할 수 있다.

git stash save "메시지 내용을 적으세요"

 

# git stash list

- git stash한 목록들을 볼 수 있다.

stash@{0}: On 26: 메시지 내용을 적으세요
stash@{1}: WIP on main: c59d945 Merge pull request #41 from YooGenie/40


# git stash clear

- 모든 stash를 삭제해준다.


# git stash apply

- stash한 변경사항을 불러오면서 여전히 저장이 되어있다.
- git stash list하면 리스트에 뜬다.


# git stash apply stash@{n}

- 특정 stash를 가져온다. 
- git stash list를 통해서 번호를 찾는다. 

git stash apply stash@{1}

 

#  git stash pop

- stash한 변경사항을 불러오면서 삭제 된다.
- git stash list하면 리스트에 없다.

 

# git stash pop stash@{n}

- 특정 stash를 가져오고 삭제한다.

git stash pop stash@{1}

 

# git stash drop stash@{n}

- 특정 stash를 삭제하는 하는 명령어이다.

git stash drop stash@{1}

 

반응형