반응형
1. Git stash
- 아직 마무리 하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령입니다.
- 브랜치에서 작업을 진행하던 중 아직 완료하지 않은 작업을 commit 하지 않고 다른 작업을 진행하는데 용이합니다.
1.1. 작업 임시 저장
-
- "git stash" or "git stash save"
- 위 명령어를 통해 새로운 stash를 스택에 만들어 하던 작업을 임시로 저장합니다.
1.2. stash 목록 확인
-
- "git stash list"
- 위 명령어를 사용하면 stash 하여 스택에 저장된 리스트를 확인할 수 있습니다.
1.3. stash 가져오기
-
- "git stash apply [stash 이름]"
- 위 명령으로 스택에 저장된 stash 내용을 다시 가져온다.
- 가져온 stash는 리스트에 유지된다.
1.4. stash 삭제
-
- "git stash drop [stash 이름]"
- apply 옵션으로 stash를 가져와서 적용해도 스택에는 여전히 남아 있다. 스택에 남아 있는 stash는 위 명령으로 제거할 수 있다.
1.5. stash pop
-
- "git stash pop [stash 이름]"
- 스택에서 stash를 가져와 적용하고 동시에 제거를 하고 싶으면 위 명령어를 사용합니다.
1.6. stash 특정 파일만 임시 저장
-
- "git stash push -m "내용" [경로]"
- 특정 파일 또는 특정 경로에 있는 수정된 파일만 stash에 저장된다.
2. 활용법
2.1. 동일 브랜치에서 다른 개발자가 commit한 내용이 내가 commit할 내용과 충돌이 나는 경우
-
- 예시) 내가 commit할 내용을 stash하여 스택에 저장한 후 원격 브랜치에서 fetch/pull 하여 적용한 뒤 stash에 저장한 내용을 가져와서 작업 후 다시 commit 한다.
- git stash
- git pull origin feature_1
- git stash pop
- 추가 작업 후 commit
- 예시) 내가 commit할 내용을 stash하여 스택에 저장한 후 원격 브랜치에서 fetch/pull 하여 적용한 뒤 stash에 저장한 내용을 가져와서 작업 후 다시 commit 한다.
2.2. 현재 브랜치의 작업 중인 내용을 다른 브랜치로 옮기고 싶은 경우
-
- 예시) feature_1 브랜치에서 작업 중인 내용을 feature_2 브랜치로 옮기고 싶은 경우
- git stash save # 현재 브랜치 : feature_1
- git stash list
- git checkout feature_2
- git stash apply
- 예시) feature_1 브랜치에서 작업 중인 내용을 feature_2 브랜치로 옮기고 싶은 경우
2.3. feature 브랜치에서 작업하던 중 master 브랜치의 내용이 변경되어 해당 내용을 feature 브랜치에 적용해야 하는 경우
-
- 예시) feature_1 브랜치에서 master 브랜치의 내용을 fetch/pull 해야 하는 경우
- git stash save # 현재 브랜치 : feature_1
- git stash list #stash 스택 목록 확인
- git fetch origin master
- git pull origin master
- git stash apply
- 예시) feature_1 브랜치에서 master 브랜치의 내용을 fetch/pull 해야 하는 경우
반응형
'git' 카테고리의 다른 글
[Git] 오류 fatel remote error CAPTCHA required (0) | 2024.01.03 |
---|---|
[git] 명령어 모음(commit, push, pull, fetch 등등) (0) | 2023.11.07 |
[git]error: failed to push some refs to (0) | 2018.01.08 |
[git]Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (0) | 2018.01.03 |