[TIL] Git stash

phdljr·2023년 11월 24일
1

TIL

목록 보기
35/70

깃으로 팀원들과 협업을 하던 도중, develop에 새로운 커밋이 올라와서 pull을 받을려면, 기존에 하던 작업을 commit하여 merge를 해왔다.

하지만, commit은 기능을 완전히 구현했을 때만 하기로 했는데, merge를 하려면 미완성인 상태에서도 commit을 진행할 수 밖에 없었다.

그러나, stash를 알게된 후, 그럴 필요가 없어졌다.

지금부터 stash에 대해 알아보는 시간을 가져보겠다.


Git Stash

git에는 저장소에 커밋하지 않고 작업한 내용의 스냅샷을 임시 저장할 수 있는 stash라는 영역이 있다.

Stash 영역은 Git 사용자가 흔히 알고 있는 워킹 트리(Working Tree/Working Directory), 스테이징 영역(staging area), 또는 저장소(repository)와는 별개이다.

이 기능은 해당 브랜치에 커밋할 준비가 되지 않은 변경 사항을 작업한 상태에서 다른 브랜치로 전환해야 할 때 유용하다.

git stash [save 이름]

  • 작업 내용의 스냅샷을 저장
  • save와 이름을 생략할 시, 최대 하나만 익명으로 저장된다.

git stash list

  • 저장된 스냅샷 목록을 출력한다.

git stash show [이름]

  • 저장된 스냅샷의 내용을 출력한다.

git stash drop [이름]

  • 저장된 스냅샷을 삭제한다.

git stash clear

  • 저장된 모든 스냅샷을 삭제한다.

git stash apply [이름]

  • 스냅샷을 현재 브랜치에 적용시킨다.
  • 사용된 스냅샷은 그대로 남아있다.

git stash pop [이름]

  • 스냅샷을 현재 브랜치에 적용시킨다.
  • 사용된 스냅샷은 사라진다.

참조

https://www.freecodecamp.org/korean/news/git-stash-explained/

profile
난 Java도 좋고, 다른 것들도 좋아

0개의 댓글