일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dfs
- TypeScript
- Nest.js
- Dinosaur
- jest
- react
- mongoose
- Bull
- JavaScript
- GIT
- game
- 정렬
- 자료구조
- cookie
- Queue
- OCR
- typeORM
- flask
- MongoDB
- 공룡게임
- Express
- AWS
- 게임
- class
- Sequelize
- nestjs
- nodejs
- MySQL
- Python
- Today
- Total
포시코딩
git stash - 진행상황 임시저장 본문
개요
feature/test 브랜치에서 작업중, 팀장이 dev 브랜치에 hotfix를 적용시켜
내가 개발중인 코드에서 dev를 merge해야하는 상황이 생겼을 때
진행중이던 작업물에 대해 임시 메시지로 commit한 후에 브랜치를 바꿔 받아온 경험이 있을 것이다.
이런 상황에서 git stash를 쓴다면 필요없는 commit을 남기지 않고
작업 진행상황을 임시저장한 후 불러올 수 있다.
사용법
조건
일단 staged changes에 올라간 파일이 없어야 한다. (git add 된 파일이 없어야 한다는 뜻)
만약 있다면 git reset을 통해 다시 Unstaged 상태로 되돌리자
git reset
저장
git stash push -m '내용'
여러 stash가 생길 경우를 고려해 내용을 직접 입력해 stash를 구분지을 수 있다.
저장목록 확인
git stash list
저장된 stash의 목록을 확인할 수 있다.
stash@{index}와 위에서 저장할 때 적은 내용을 확인할 수 있다. ex) 4545, test_123
저장된 stash 불러오기
git stash pop stash@{index}
목록에서 확인한 index를 통해 직접 골라 stash를 적용할 수 있다.
저장된 stash 삭제하기
삭제는 두가지 방법으로 할 수 있다.
첫번째는 가장 최근 저장된 stash를 삭제하는 방법
git stash drop
두번째는 pop으로 특정 stash를 가져올 때와 마찬가지로 특정 stash를 삭제하는 방법이다.
git stash drop stash@{index}
그 외 명령어
stash는 push, pop 말고도 저장 및 불러올 때 사용하는 명령어가 몇가지 더 존재한다.
git stash
마지막으로 commit된 메시지로 stash를 저장한다.
git stash apply
마지막으로 저장된 stash를 불러온다.
아마 많은 다른 블로그에서는 위 두 명령어로 가르쳐줄 것이다.
하지만 commit 메시지로 저장되면 나중에 다시 확인할 때 이게 어떤거에 대한 임시 저장인지 헷갈릴 수 있고
마지막으로 저장된 stash를 불러왔는데 내가 원하지 않는 stash일 수 있어서 위 방법들은 개인적으로 추천하지 않는다.
직접 메시지를 명시해 저장하고, 저장된 stash중 원하는 stash를 골라 가져오는게 더 낫은 방법이 아닐까하여
제일 처음에 소개한 git stash push, git stash pop 명령어를 사용하는 것을 추천한다.
'Git' 카테고리의 다른 글
[Git] 최근 작성한 커밋 메시지 변경하기 (push 하기 전) (1) | 2023.12.21 |
---|---|
SVN에서 Git으로 Migration하고 Git Server 등록까지 (0) | 2023.02.05 |
게임처럼 Git 배우기 (0) | 2022.12.12 |
Cherry-pick - 다른 브랜치에서 커밋 가져오기 (0) | 2022.11.27 |
Git Upgrade - Mac(맥), Homebrew (0) | 2022.07.18 |