함께 협업을 하기 위해선 Git을 제대로 알아야 한다! 잘못 만지면 날아가는 경우가 있기 때문이다👻 항상 조심해야 하므로 나 역시 실수하지 않기 위해 이렇게 정리한다.
당연히 첫 프로젝트 시작이라면 초기 세팅을 해야 한다. 공동 프로젝트 저장소를 Fork 한 후, Clone을 통해 소스를 가져오고 Remote Repository까지 등록해야 한다. 오늘은 초기 세팅이 완료된 후에, 프로젝트를 진행하면서 계속 필요한 Git 사용법을 알아볼 것이다. 따라서 초기 세팅에 관련해서는 하단의 참고 사이트 글을 확인하면 좋을 것 같다.
그럼 순서대로 Git을 다루는 법을 알아보자 (∩^o^)⊃━☆
공동의 저장소로 함께 협업하기 때문에 브랜치의 활용을 잘해야 한다. 나는 github-flow 브랜치 전략을 통해 매 기능마다 브랜치를 만든다. Local Repository에서 작업하기 전에 branch
를 생성하여 그 곳에서 작업, 수정 등을 한다.
//브랜치 생성 및 이동 (ex. git checkout -b feature)
git checkout -b 브랜치명
//현재 브랜치 목록
git branch
해당 단계에서 주의할 점은 git push
할 때 공동의 저장소가 아닌, 자신의 저장소로 하는 것이다. 협업할 때 공동의 저장소로 올리기 위해선 바로 올리지 않고 pull request
를 통하기 때문이다.
//업로드할 파일
git add 파일명
git commit -m "커밋메시지"
git push fork저장소별칭 브랜치명
//ex) git push origin feature
Github
홈페이지에서 자신의 fork 저장소로 가서 방금 올린 브랜치
를 선택한 후, Contribute
를 눌러 pull request
를 생성한다. 그럼 페이지 상단에서 자신의 저장소에서 공동의 저장소로 올라간다는 것을 확인할 수 있다. 이후 merge
여부까지 선택해서 진행하면 된다.
merge
까지 모두 되었다면, 이제 방금 올린 branch
를 삭제하고, 동기화를 진행해야 한다. 그럼 원격 저장소, fork한 저장소, 로컬 저장소 모두 같은 상태가 될 것이다.
여기까지 했다면, 앞으로 새로운 작업 시 위에서부터 순서대로 단계를 반복하면 된다. 브랜치를 삭제했으니 다시 브랜치를 생성하고 작업을 시작하면 된다!
//메인 브랜치로 이동
git checkout main
//upstream 동기화 (ex. git pull upstream main)
git pull 원본저장소명 브랜치명
//origin에 반영 (ex. git push origin main)
git push fork저장소명 브랜치명
//로컬 브랜치 삭제
git branch -d 브랜치명
//fork한 저장소에도 삭제 반영 (ex. git push origin --delete feature)
git push fork저장소명 --delete 브랜명
참고사이트
https://seungwubaek.github.io/tools/git/contributing_using_pull_request/
https://backtony.github.io/git/2022-06-09-git-cowork/