[Git] Commands Summary - stash

1 minute read

Commands Summary - stash

git-version-2.29.2

StashName 의 form: stash@{<revision>}
ex) stash@{0}, stash@{1}
최신(latest) stash item 의 이름은 stash@{0} 이다.


list

$ git stash list

Options

  • -p(--patch): stash stack의 상세 내용 확인



show

  • Stash 내용 확인
$ git stash show ${StashName}

Options

  • -p(--patch): 해당 stash 상세 내용 확인



push

  • Stash 저장 (Working directory, Staging area 정보 임시 저장)
    (Stash stack에 작업내용 push)
$ git stash push
  • push 를 생략가능
$ git stash

Options

  • -m(--message): stash meesage
  • -k(—-keep-index): 현재 staging area 상태는 stash stack 에 저장안하고 keep
  • -u(--include-untracked): Untracked 파일도 stash에 추가
  • -p(--patch): Stash 저장시 대화형으로 hunk 단위 선택저장
    (해당 옵션 사용시 --keep-index가 기본적용되며 --no-keep-index 로 override 가능)



apply

  • 최신(0번째 인덱스) stash item을 working directory 로 적용
$ git stash apply
  • 지정한 특정 stash item(${StashName})를 working directory 로 적용
$ git stash apply ${StashName}

Options

  • --index: stash 의 staging area 상태도 복구



pop

Note
Conflict로 인해 해당 명령어가 실패할 수 있다.
이 경우 stash item은 stash stack에서 제거되지 않으므로
충돌을 수동으로 해결하고 나중에 수동으로 git stash drop이 필요

  • 최신(0번째 인덱스) stash item을 working directory로 적용 및 해당 stash drop
$ git stash pop
  • 지정한 특정 stash item(${StashName})를 working directory 로 적용 및 해당 stash drop
$ git stash pop ${StashName}


Options

  • --index: stash 의 staging area 상태도 복구



drop

  • 최신(0번째 인덱스) stash Item 제거
$ git stash drop
  • 특정 stash item 제거
$ git stash drop ${StashName}



clear

  • Stash stack item 모두 제거
$ git stash clear



branch

  • Branch를 새로 만들고 checkout 이후, 해당 branch에 최신(0번째 인덱스) stash item 적용 및 drop
$ git stash branch ${BranchName}



About Conflict

apply 또는 pop 명령어로 stash item 을 적용할 때,
working directory와 conflict 발생시, 해당 명령어는 abort 된다.(명령어 자동 취소)
이에 반해, Staging area와 conflict 발생시에는 conflict가 발생한 파일이 Auto-merging 이 되어
해당 파일을 수동으로 수정 후 commit 해주어야한다.

Note
위에서도 언급했지만, git stash pop의 경우에는 conflict 발생시, drop이 자동으로 되지 않는다.(apply 형태로 적용)
따라서 해당 stash 를 수동으로 drop 해주어야 한다.



Reference

Tags: ,

Categories:

Updated:

Leave a comment