여러명이서 하나의 레포지토리에 프로젝트를 만들 때 두가지 방법이 있다.
레포지토리를 다른 사람들이 클론하고 레포지토리의 주인이 collaborator로 다른 사람들을 초대한다. 다른 사람들은 그 레포지토리로 가서 초대를 수락하면 된다.
이 경우, collaborator로 초대받은 사람들도 풀 리퀘스트를 머지할 수 있다. 클론한 레포지토리에서 브랜치를 만들어서 푸시하고 메인 브랜치에 풀 리퀘스트를 보낸다.
레포지토리를 자신의 깃허브 계정에 포크(fork)한다. 포크한 레포지토리를 자신의 컴퓨터에 클론하고 거기에 푸시를 한다. 그리고 원본 레포지토리에 풀 리퀘스트를 보낸다.
(포크 방식도 브랜치를 만들어서 푸시할까?)
메인 브랜치는 항상 머지로만 코드가 변경되어야 한다.
📌기능 구현 후
풀 리퀘스트를 하여 머지가 되면, 다른 팀원들은 최신화를 할 때 어떡해야 할까?
자신의 기능을 개발 중이라면 커밋이나 스태쉬를 해야 한다.
현재 브랜치에서 커밋하지 않은 변경사항이 있을 때는 다른 브랜치로 체크아웃 할 수 없다.
변경사항을 잠깐 저장해두는 기능이다.
git stash save
git stash apply
save를 해두고 메인 브랜치를 pull한 다음 apply를 하고 다시 개발을 이어 나가면 된다.