과제 올리는 main 브랜치에 여러 사람이 동시에 작업하다가 문제가 발생하였다.
사실 각자의 브랜치에다 올렸어야 됐는데, 각자의 브랜치에다 올릴 생각을 미처 못 했다.
문제 해결 이후에는 main 브랜치를 비워두고 각자의 브랜치에다 과제를 올렸다.
나중에 실무에 투입하게 되면, 같은 브랜치에 작업하는 경우가 많을 거 같다.
그래서 같은 브랜치에서 여러 사람과 동시에 작업하다가 발생한 이슈를 해결하는 과정을 정리해보려 한다.
내가 현재 로컬 main
브랜치에 변경한 내역이 존재하는데,
중간에 상대방이 main 브랜치에다 변경사항을 push
하였다.
그럼 나는 상대방의 작업을 pull
을 해야 변경사항을 push
할 수 있을 것이다.
그런데 내가 변경한 내역이 존재하는 상태에서 상대방의 작업을 git pull
하게 되면,
충돌이 일어날 것이다.
왜냐하면, 원격 main
브랜치를 pull
할 때 내 로컬 main 브랜치에 변경 내역이 존재하기 때문이다.
그럼 이럴 때 어떻게 해결해야 될까?
그럴 땐 잠깐 내 작업을 임시 공간으로 옮긴 후 원격 main
브랜치를 pull
해주면 된다.
git stash
git pull
또는 git pull origin main
git stash pop
참고 문헌