현재 변경사항이 있습니다. xxx 브랜치 받고 작업 진행해주세요
내 작업은 아직 미완성이지만 변경 사항을 먼저 확인해야 할 때, 어떤 방법을 쓰면 좋을까?
Git Stash
아직 커밋하지 않은 작업 내용 (수정된 파일, 스테이징된 파일) 을 임시로 저장소에 숨겨두고, 작업 디렉토리를 마지막 커밋 상태로 되돌리는 Git 명령어
- git stash : 임시 저장소에 저장
- -u 옵션을 사용하면 추적되지 않거나 무시된 파일에 적용된 변경사항도 stash 할 수 있다.
- git stash list : 내역 확인
- git stash 를 여러 번 실행하여 여러 stash를 만든 다음 리스트를 볼 수 있다.
- git stash pop : 가장 최근 저장된 stash 불러오기
- 불러온 뒤 list에서는 제거된다.
- git stash apply : 가장 최근 저장된 stash 불러오기
- 불러온 뒤에도 list에 존재
만약 불러오기 중 충돌이 발생했다면 이렇게 알려준다.
(merge conflict와 동일한 방법으로 해결 가능하다. )
git stash pop
Auto-merging [파일 경로]
CONFLICT (content): Merge conflict in [파일 경로]
CONFLICT (content): Merge conflict in [파일 경로]
On branch [브랜치 이름]
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: [파일 경로]
both modified: [파일 경로]
참고
https://www.atlassian.com/ko/git/tutorials/saving-changes/git-stash
Git stash - 변경 사항 저장 | Atlassian Git 자습서
엔터프라이즈 전체에 걸친 작업 계획 및 가치
www.atlassian.com
https://git-scm.com/book/ko/v2/Git-%EB%8F%84%EA%B5%AC-Stashing%EA%B3%BC-Cleaning
Git - Stashing과 Cleaning
작업하던 저장소가 완전 지저분해져서 Git에게 진짜로 강제로 정리하도록 해야 하는 경우가 생길 수 있다. 예를 들어 Git 버전관리 데이터가 포함된 디렉토리를 복사해왔거나 서브모듈 디렉토리
git-scm.com