1. 언제 사용할까
develop 브랜치에서 분기한 feat1 브랜치가 있다고 하자.
feat1 브랜치에서 작업을 하며 여러가지 변경사항들이 생겨나고있다.
이때 develop 브랜치나 다른 브랜치로 checkout 해야할 경우가 종종 생긴다.
이때 그냥 checkout을 시도하면 git은 commit을 먼저 하라는 경고를 뱉는다.
하지만 난 아직 feat1 브랜치에서의 작업이 끝나지 않아서 커밋하고 싶지 않다면?
이때 git stash 명령어를 사용할 수 있다.
2. 사용법
feat1 브랜치에서
git stash
를 쳐주면 feat1에 내가 싸놓은 변경사항들이 스택으로 잠깐 이동된다.
즉 feat1과 내가 분기해서 가져온 로컬 develop 브랜치간의 차이가 없어지고
다른 브랜치로 이동할 수 있게된다.
다른 브랜치에서 작업을 끝내고 다시 feat1로 돌아와서 내가 옮겨 두었던 변경사항들을 불러오고 싶다면
git stash apply
를 해주면 된다.
단, 이때 스택에 여러개의 stash된 내용들이 쌓여있다면 가장 최근에 stash된 내용이 꺼내와지며(이 경우 stash@{0})
꺼내와졌다고 자동으로 pop되지 않기에
git stash drop
을 통해 꺼내온 stash 내용을 지워주어야 한다.
참고:
https://www.youtube.com/watch?v=ArNd5sSwD04&ab_channel=%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9
git stash 사용법 - 깃 스태시는 어떤상황에서 필요할까 ? branch, commit의 개념과 단위
git stash 명령어는 개인 프로젝트 할 때 보다 팀 프로젝트를 할 때 많이 사용하는 명령어입니다. 저는 git을 사용할 때 아래와 같은 순서로 커밋을 하고 푸시를 합니다. git add . git commit -m '[feat]git st
worker-k.tistory.com
'Git' 카테고리의 다른 글
[Git] Branch 이름 변경하기 (0) | 2022.04.26 |
---|---|
[Git] Branch와 Merge (0) | 2021.08.14 |
[Git] BFG Repo-Cleaner를 사용한 민감한 히스토리 삭제 (3) | 2021.08.14 |
[Git] git bash를 사용한 버전관리 시작하기 (0) | 2021.08.13 |