본문 바로가기

dev/GIT

git stash

프로젝트하다 보면 중간에 다른 사람이 작업한 소스를 받아야 할 때가 있습니다.

(예를 들면 수정된 공통 코드 받아야 하는 경우)

 

그럴 때 git stash를 사용하면 유용합니다.

 

 

해당 프로젝트 마우스 오른쪽 클릭해서 "Team - Stashes - Stash Changes..."를 선택합니다.

 

 

stash 메시지를 남기고 "Stash" 버튼을 선택합니다.

 

 

해당 프로젝트 마우스 오른쪽 클릭해서 "Team - Stashes"를 선택하면 stash가 생성된 것을 확인할 수 있습니다.

 

 

마찬가지로 해당 프로젝트명 오른쪽에 stash가 생성된 것을 확인할 수 있습니다.

 

 

그리고 git에서 pull을 받습니다.

 

혹시 pull을 받다가 "nothing to fetch"라는 에러 메시지가 확인되면 아래 링크에서 해결하시면 됩니다.

 

https://tiqndjd12.tistory.com/150

 

git Nothing to fetch

git Nothing to fetch 에러를 해결하는 방법입니다. 위와 같은 에러가 발생하는 이유는 여러가지가 있지만 저의 경우는 원격 저장소에 대한 정보가 없기 때문입니다. 원격 저장소에 설정을 수정하기

tiqndjd12.tistory.com

 

 

pull이 정상적으로 받은 것을 확인합니다.

 

소스를 확인하고 다 끝났으면

 

방금 stash 한 소스와 pull 받은 소스를 merge 합니다.

 

 

방금 전에 생성한 stash를 선택합니다.

 

 

stash 화면 상단 맨 오른쪽에 있는 "Stash Test"에서 화살표 버튼을 선택합니다.

(Apply Stashed Changes: stash 한 소스를 pull 받은 소스에 가져오는 기능, merge 아님)

 

 

충돌이 발생했다는 팝업창이 뜨는데 "OK" 버튼 선택합니다.

 

 

충돌이 발생한 소스를 수정해야 하는데

 

<<<<<<< HEAD에서 ======= 까지 소스는 pull 받은 소스(git 원격 서버 소스)이고

 

======= 에서 >>>>>>> stash까지 소스는 stash 한 소스입니다.

 

충돌이 발생한 소스는 담당자가 수정하면 됩니다.

 

 

수정이 끝났으면 commit 하고 git 원격 서버에 push 합니다.

 

 

push가 제대로 됐는지 확인합니다.

 

 

해당 stash는 더 이상 필요가 없기 때문에 "Stash Test"에서 X 버튼을 선택해 삭제합니다.

'dev > GIT' 카테고리의 다른 글

git Nothing to fetch  (0) 2022.03.25
git bash ssh login  (0) 2022.02.18
centos git 설치  (0) 2021.06.09
git에 프로젝트 올리는 방법  (0) 2021.02.25
git 충돌 해결  (0) 2021.02.11