초보 개발자

Git stash 본문

AI 웹개발 트랙 - 내배캠/5주차

Git stash

taehyeki 2022. 1. 11. 14:39

stash는 숨겨두거나 넣어둔 다는 뜻으로 프로젝트의 변경사항을 임시적으로 보관해둘 때 사용한다.

예를 들어 다른 branch로 체크아웃 하는 경우 현재 branch의 변경사항이 사라지게 된다. 아직 작업 중이라 commit하지 않고 변경사항만 보관해두고 싶을 수도 있다. commit대신 stash를 사용한다.

 

기존 파일을 수정하면 변경된 사항이 있다고 소스트리에서 알려줄 것이다.

.

근데 여기서 main 브랜치에서 무언가를 작업해야하는 상황이어서 main브랜치로 체크아웃을 해버리면 다른 브랜치의 수정 내용이 사라지기때문에

이렇게 해주면 변경된 사항이 있다는 메시지가 사라지게되고 귀신같이 파일역시 수정 전 상황으로 돌아갔다. 파일의 작업내용 자체를 어딘가에 보관해버린것이다. main브랜치에서 하던일을 마저하고 다시 돌아와서 왼쪽의 스태시를 눌러보면 이렇게 나타나는 것을 확인할 수 있다.

마우스 우클릭을하고 스태시 적용을 눌르면

다시 수정내역이 반영되는 것을 확인할 수가 있다.

변경이 완료되면 스태시를 삭제해주자

 

커밋한적 없는 파일은 스태시할 필요가 없다 아직 추적하지 않고 있는 파일이다.

신기한 것이 다른 branch에 가더라도 이 파일이 보인다. 그 어떤 브랜치에도 속하지 않은 파일 상태이기 때문에 stash하지 않고 checkout해도 작업내역이 사라지지 않는다.

 

커밋을 한번하고 메인브랜치에가면 이젠 보이지 않는다.

'AI 웹개발 트랙 - 내배캠 > 5주차' 카테고리의 다른 글

정규표현식, 이메일 패스워드  (0) 2022.01.13
파이썬 힙 heap 간단 구현 !!!  (1) 2022.01.11
Git commit 되돌리기 amend, revert, reset  (0) 2022.01.11
Git fork  (0) 2022.01.11
Git PR(pull request)  (0) 2022.01.10