git stash: 같은 브랜치에서 작업할 때 git pull 충돌 해결 방법

호박이와 칼림바·2024년 4월 13일
0

회사 적응기

목록 보기
3/6
post-thumbnail

과제 올리는 main 브랜치에 여러 사람이 동시에 작업하다가 문제가 발생하였다.
사실 각자의 브랜치에다 올렸어야 됐는데, 각자의 브랜치에다 올릴 생각을 미처 못 했다.
문제 해결 이후에는 main 브랜치를 비워두고 각자의 브랜치에다 과제를 올렸다.

나중에 실무에 투입하게 되면, 같은 브랜치에 작업하는 경우가 많을 거 같다.
그래서 같은 브랜치에서 여러 사람과 동시에 작업하다가 발생한 이슈를 해결하는 과정을 정리해보려 한다.


💭 여러 동료들과 같은 브랜치에서 작업을 하는 경우를 생각해보자.

내가 현재 로컬 main 브랜치에 변경한 내역이 존재하는데,
중간에 상대방이 main 브랜치에다 변경사항을 push 하였다.
그럼 나는 상대방의 작업을 pull을 해야 변경사항을 push 할 수 있을 것이다.

그런데 내가 변경한 내역이 존재하는 상태에서 상대방의 작업을 git pull 하게 되면,
충돌이 일어날 것이다.
왜냐하면, 원격 main 브랜치를 pull 할 때 내 로컬 main 브랜치에 변경 내역이 존재하기 때문이다.

그럼 이럴 때 어떻게 해결해야 될까?

🌟 git stash로 해결

그럴 땐 잠깐 내 작업을 임시 공간으로 옮긴 후 원격 main 브랜치를 pull 해주면 된다.

1. pull 하기 전 로컬 내 변경사항을 임시 공간으로 옮긴다.

git stash

2. 원격 저장소(main 브랜치)를 pull한다.

git pull 또는 git pull origin main

3. 로컬 main에서의 내 변경사항과 원격 저장소에서 pull 한 파일을 병합(merge)한다.

git stash pop


참고 문헌

https://heytech.tistory.com/155

profile
프론트엔드 개발자입니다.

0개의 댓글

관련 채용 정보