일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django
- annotate
- Prefetch_related
- to_attr
- Python
- DRF
- Continuous Delivery
- aws
- Coroutine
- F객체
- docker
- DjangoCache
- 도커
- 백준
- Transaction
- nestedfunction
- CD
- CI
- testcase
- database
- aggregate
- Continuous Deployment
- EC2
- dry-yasg
- apitestcase
- QuerySet
- 코루틴
- racecondition
- DjangoRestFramework
- Git
- Today
- Total
BackEnd King KY
TIL31 - git stash 본문

Git stash
회사에서 작업을 하던 중, 잠시 다른 해결 요청이 온 적 있었습니다.
저희 회사는 빠르게 PR을 올려서 머지하는 전략으로 업무를 하고 있어서, 중간에 뭔가 커밋을 하기 아까웠는데요.
그 때 사용한 것이 stash였습니다.
아직 마무리 되지 않은 작업이다보니, 이걸 스택에 저장하는 개념입니다.
어떻게 사용하나요?
이미지를 통해 설명해보겠습니다.
우선, 마스터에서 feature/stash
라는 브랜치를 생성했습니다.
그 다음, 수정사항 하나 만들고 git stash
라는 명령를 사용해서 저장했습니다.
그러면 *1
이렇게 저장되었다고 나옵니다.
그리고 한 번 더 수정 후 stash를 통해 저장했는데, 그러면 *2
이렇게 두 개가 저장되었다는 의미로 표기가 됩니다.
확인을 하기 위해 git stash list
를 입력하면, 0번째 인덱스부터 저장이 된 리스트가 나오고 가장 마지막 커밋 내역이 나오게 됩니다.
stash를 이용해 임시 저장한 상태에서 다른 작업이 끝났다면, 다시 stash 내역을 가져와야 합니다.
그 때 사용하는 것이 git stash apply
입니다.
해당 명령어를 사용하면 가장 최근 stash한 걸 가져옵니다.
뒤에 --index
를 사용해서 스테이징까지 올릴 수 있는데, 그건 그 때의 작업상황에 맞게 해주시면 될 것 같습니다.
그리고 stash 한 내역을 삭제하고 처음부터 작업을 다시 하겠다라고 생각하실 경우 사용하는 것이 drop
입니다.
git stash drop
or git stash drop stash@{1}
같이 stash 이름을 적어주면 삭제됩니다.
이름을 작성하지 않으면 가장 최근 stash가 제거됩니다.
'Git' 카테고리의 다른 글
TIL13 - SSH (0) | 2022.03.03 |
---|---|
TIL2 - Git Flow (0) | 2022.02.15 |