[Git] git stash 사용하기

김형준 Kim Hyeong Jun·2022년 12월 20일
0
post-thumbnail

프로젝트를 진행하다보니 내가 한 작업이 마무리 되기 전에
현재 작업 중인 작업에 다른 사람이 작업한 사항을 추가해야 하는 일이 생겼다.
이때마다 내 작업사항을 commit & push 하고 진행하는 게
파일을 해칠까 걱정이 됐다.

git stash 란?

아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit 하지 않고 나중에 다시 꺼내와 마무리할 수 있다.

  • git stash 명령을 사용하면 워킹 디렉토리에서 수정한 파일들만 저장한다.
  • stash란 아래에 해당하는 파일들을 보관해두는 장소 이다.

    Modified이면서 Tracked 상태인 파일
    -Tracked 상태인 파일을 수정한 경우
    -Tracked: 과거에 이미 commit하여 스냅샷에 넣어진 관리 대상 상태의 파일

    Staging Area에 있는 파일(Staged 상태의 파일)
    -git add 명령을 실행한 경우
    -Staged 상태로 만들려면 git add 명령을 실행해야 한다.
    -git add는 파일을 새로 추적할 때도 사용하고 수정한 파일을 -Staged 상태로 만들 때도 사용한다.

git stash

하던 작업 임시로 저장하기

$ git stash
$ git stash save

git stashgit stash save 를 실행하면 스택에 새로운 stash 가 만들어진다.
이 과정을 통해 working directory는 깨끗해진다.

git stash list

stash 목록 확인하기

$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log
https://gmlwjd9405.github.io/2018/05/18/git-stash.html

git stash list 를 통해 저장한 stash 목록을 확인할 수 있다.

git stash apply

stash 적용하기(임시 저장한 stash 적용하기)

// 가장 최근의 stash를 가져와 적용한다.
$ git stash apply
// stash 이름(ex. stash@{2})에 해당하는 stash를 적용한다.
$ git stash apply [stash 이름]
https://gmlwjd9405.github.io/2018/05/18/git-stash.html

git stash apply : 가장 최근의 stash를 적용한다.
git stash apply [stash 이름] : 해당하는 stash를 적용한다.

git stash drop

임시 저장된 stash 를 제거한다.

// 가장 최근의 stash를 제거한다.
$ git stash drop
// stash 이름(ex. stash@{2})에 해당하는 stash를 제거한다.
$ git stash drop [stash 이름]

git stash drop : 가장 최근의 stash를 삭제한다.
git stash drop [stash 이름] : 해당하는 stash를 삭제한다.


stash 를 되돌리는
git stash show -p | git apply -R 라는 명령어도 존재하지만
아직 확실한 사용법을 숙지하지 못하여
차후에 더 학습하여 정리하도록 하겠다.

이해하지 못한거 잘 못 정리하면, 나에게도 어떤 누군가에도 피해가 될 것 같아서...

Reperence

https://gmlwjd9405.github.io/2018/05/18/git-stash.html

profile
I want be a developer🙂

0개의 댓글