프로젝트를 진행하다보니 내가 한 작업이 마무리 되기 전에
현재 작업 중인 작업에 다른 사람이 작업한 사항을 추가해야 하는 일이 생겼다.
이때마다 내 작업사항을commit
&push
하고 진행하는 게
파일을 해칠까 걱정이 됐다.
아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 명령어이다. 이를 통해 아직 완료하지 않은 일을 commit 하지 않고 나중에 다시 꺼내와 마무리할 수 있다.
Modified이면서 Tracked 상태인 파일
-Tracked 상태인 파일을 수정한 경우
-Tracked: 과거에 이미 commit하여 스냅샷에 넣어진 관리 대상 상태의 파일Staging Area에 있는 파일(Staged 상태의 파일)
-git add 명령을 실행한 경우
-Staged 상태로 만들려면 git add 명령을 실행해야 한다.
-git add는 파일을 새로 추적할 때도 사용하고 수정한 파일을 -Staged 상태로 만들 때도 사용한다.
하던 작업 임시로 저장하기
$ git stash
$ git stash save
git stash
나 git stash save
를 실행하면 스택에 새로운 stash 가 만들어진다.
이 과정을 통해 working directory는 깨끗해진다.
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 목록을 확인할 수 있다.
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를 적용한다.
임시 저장된 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
라는 명령어도 존재하지만
아직 확실한 사용법을 숙지하지 못하여
차후에 더 학습하여 정리하도록 하겠다.
이해하지 못한거 잘 못 정리하면, 나에게도 어떤 누군가에도 피해가 될 것 같아서...