2021. 5. 13. 03:23ㆍ깃
이번에는 Git 의 Stash 에 대해서 알아 봅시다
Stash
Stash 는 , 현재 내가 작성하는 파일을 커밋하지 않고, 임시 저장소에 저장하는 방법 입니다.
complict 에러를 피할 수 있는 유용한 방법 입니다.
※ git stash -> 하던 작업 임시저장소에 저장하기
※ git stash list -> stash 목록 보기
※ git stash aplly <stash 이름> -> stash에 있는 파일 가져오기
※ git stash drop <stash 이름> -> stash의 (이름)stash 제거하기
※ git stash clear -> stash 전부 지우기
직접 한번 해봅시다.
먼저, 최초 커밋을 해서 로컬 저장소와 원격 저장소를 똑같이 만들어 줍니다.
이 상태에서 저는 A.txt 를 수정을 합니다. ( 커밋은 하지 않은 상태 )
그리고 원격저장소에 내가 아닌 누군가가 A.txt 를 수정합니다.
이 상태에서, 내 로컬 저장소의 status 를 확인해 보면 아래와 같습니다.
이 상태에서, complict 에러를 해소하기 위해서 pull or fetch 를 이용해서 내 로컬저장소를 최신화 해주어야 되죠?
이 과정을 수행할 때, 저는 작성하던 A.txt 를 저장하기 위해서 불 필요한 commit 을 해주어야 합니다.
그런데, 이 상태에서 stash 를 사용하면 내가 작성하던 A.txt 는 마지막 커밋 상태로 돌아갑니다.
그리고 stash list 를 확인해보면 아래와 같이 작성하던 파일이 stash@{0} 이라는 이름으로 저장이 됩니다.
그러면, 제 로컬 저장소는 마지막 커밋으로 돌아가게 되고, 이 때 pull 을 사용해서 로컬저장소를 원격저장소와 같게 만듭니다.
이렇게 최신화를 한 후에, stash 에 있던 내가 작업하던 파일을 가져옵니다.
이제 수정을 완료하고 커밋을 한 다음 푸시를 하면 됩니다.
그러면, 필요없는 stash 는 clear or drop 으로 제거 합니다.
이렇게 stash 를 이용하면, 불 필요한 커밋을 하지 않기 때문에, log 가 남지 않습니다.
'깃' 카테고리의 다른 글
Day61 - [Git]협업하기.Pull request (0) | 2021.05.13 |
---|---|
Day61 - [Git]원격저장소 Repository 삭제 (0) | 2021.05.13 |
Day61 - [Git]깃의 comflict (0) | 2021.05.13 |
Day60 - [Git] 깃 되돌리기 , 브렌치 , 원격 저장 명령어 (0) | 2021.05.11 |
Day60 - [Git]사용자 재등록 (0) | 2021.05.11 |