gitlab

git stash 임시 저장(git stash) / pop, drop

주피터0410 2022. 4. 21. 16:53

branch 리스트

$ git branch
* admin_dev
  css_dev
  develop
  master

 

admin_dev 브랜치로 작업중 커밋을 하지 않고

master 브랜치로 checkout 를 하려면 이와 같은 에러가 발생합니다.

Jupiter@DESKTOP-2QRNHC6 MINGW64 /d/dev/workspace/project (admin_dev)
$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
        frontend/src/test.vue
Please commit your changes or stash them before you switch branches.

 

git stash버전관리 되는 대상들을 잠시동안 임시저장 해두는 방법을 사용

Jupiter@DESKTOP-2QRNHC6 MINGW64 /d/dev/workspace/project (admin_dev)
$ git stash
Saved working directory and index state WIP on develop: 193ea09 admin 메뉴명칭 변경

 

git stash 목록 확인하기

git stash list

$ git stash list
stash@{0}: WIP on main: cca940cb Error: Cannot find module 'vue/compiler-sfc' @vue/compiler-sfc 추가

 

git pull

정상적인 업데이트 완료

$ git pull
Updating cca940cb..72009e89
Fast-forward
 README.md                                          |  99 +++++++++--
 .../08e9c4d85fec3f4ce9064de8f3eec98d.json          |   1 +
 .../0f436940dd4d8e61669f966c35266136.json          |   1 +
 .../1340de6b082d0417754549f667907cf6.json          |   1 +
 .../2cf2c6753e47595d09381e3427e4c754.json          |   1 +
 .
 .
 .
 .

 

git stash apply

stash 적용하기 - 위의 명령어를 통해 작업을 다시 가져온다

$ git stash apply
Auto-merging src/components/order.vue
CONFLICT (content): Merge conflict in src/components/order.vue
On branch main
Your branch is up to date with 'origin/main'.

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
        both modified:   src/components/order.vue

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 

git stash drop

stash 제거후 list로 확인

$ git stash drop
Dropped refs/stash@{0} (5541dbca5b97d6cea4d5b2e03217bc998647f4af)

jupit@Jupiter MINGW64 /d/dev/workspace_vscode/vue3_worker (main)
$ git stash list

 

git shash를 사용하면 브랜치 변경이 됩니다.

Jupiter@DESKTOP-2QRNHC6 MINGW64 /d/dev/workspace/project (develop)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

 

master 브랜치에서 배포후 다시 admin_dev 브랜치로 checkout를 하면 기존 작업중인 데이터가 모두 사라졌습니다.

git stash show를 하여 임시저장된 내역 확인후 git stash pop 으로 복구하면 기존 작업중인 데이터 확인 완료!!

Jupiter@DESKTOP-2QRNHC6 MINGW64 /d/dev/workspace/project (admin_dev)
$ git stash show
 frontend/src/views/test.vue                    |  5 ++++-
 ...  |  1 +
 ...     |  2 +-
 ... | 10 ++++++++++
 src/main/resources/mappers/test.xml                   | 13 +++++++++++++
 src/main/resources/public/styles/_web.scss                  | 11 +++++++++++
 src/main/resources/static/styles/page.min.css           |  2 +-
 webpack.config.js                                           |  4 ++--
 10 files changed, 55 insertions(+), 6 deletions(-)
 
 
Jupiter@DESKTOP-2QRNHC6 MINGW64 /d/dev/workspace/project (admin_dev)
$ git stash pop
On branch admin_dev
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   frontend/src/views/ootd/test.vue
        modified:   src/main/java/io/aaa.java
        modified:   src/main/java/io/bbb.java
        modified:   src/main/java/io/ccc.java
        modified:   src/main/resources/mappers/test.xml
        modified:   src/main/resources/public/styles/_web.scss
        modified:   src/main/resources/static/styles/pxl.min.css
        modified:   webpack.config.js

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (758f0213363423f8ab30941f2fc1184e80121cc9)

'gitlab' 카테고리의 다른 글

Default branch master로 변경  (0) 2023.08.16
브랜치(branch) 사용  (0) 2023.03.27
git 사용법  (0) 2021.11.11
git remote 저장소 확인 & 변경  (0) 2021.11.11