코드를 안전하게 저장
→ 내 컴퓨터에만 코드를 저장했는데, 만약 내 컴퓨터가 고장났다면?
Github 에 내 코드를 저장한다면 컴퓨터가 고장나도 코드를 가져올 수 있다.
개인 포트폴리오
→ 다른 개발자들이 코드를 쉽게 확인할 수 있어 잘 정리해두면 좋다.
협업
→ 다른 개발자들과 코드를 공유하고, 협업이 가능하다.
팀원 1명 초기 프로젝트 생성
git init
$ git init
git add & git commit
(master)$ git add .
(master)$ git commit -m "메세지"
github 레포지토리 생성
코드 github 레포지토리로 업로드
(master)$ git remote add origin <저장소 주소>
(main)$ git branch -M main
(main)$ git push -u origin main
github repository 주소 복사 후 팀원들에게 전달
git clone
$ git clone <github 주소>
각 팀원들 git 브랜치 생성 & 브랜치로 이동
(main)$ git branch <브랜치명>
(브랜치명)$ git checkout <브랜치명>
기능 개발
git add & git commit & git push
(브랜치명)$ git add .
(브랜치명)$ git commit -m "메세지"
(브랜치명)$ git push origin <브랜치명>
브랜치 merge하기 (conflict 발생한 경우 12번으로)
conflict 발생한 경우 머지할 브랜치(main) 코드 가져오기
(브랜치명)$ git checkout <브랜치명> // 이미 해당 브랜치에 있으면 입력 안해도 상관 없음
(브랜치명)$ git pull origin main // main or master
conflict 발생한 부분 코드 수정
git add & git commit & git push
(브랜치명)$ git add .
(브랜치명)$ git commit -m "메세지"
(브랜치명)$ git push origin <브랜치명>
github에서 merge하기 (팀원들에게 slack으로 알리기)
내 로컬로 변경된 코드 가져오기
(브랜치명)$ git checkout main
// main 브랜치로 이동 후 github에 새로 변경된 코드 가져와야 함
(main)$ git pull origin main
브랜치 생성 후 기능 개발 (8번 과정부터 다시 진행)
push 권한이 없는 오픈 소스 프로젝트에 기여할 때 많이 사용한다.
→ 내가 수정한 코드가 있으니 내 branch를 가져가 검토 후 병합 해주세요!
merge하기 전 팀원 중 한 명이 내 코드를 확인하고 머지시키기 때문에 코드 충돌을 피할 수 있다.
→ 제 브랜치 머지 시키려고 하는데 확인하고 풀 받아주세요!

깃 허브 pull request로 가서 푸쉬! 커밋!
그리고 팀원이 한 코드 pull 받고 시작하는 게 제일 중요함!
$ git checkout develop
$ git pull
$ git checkout 'feature branch 이름'
$ git pull origin develop
git remote prune origin
git branch -d <branch_name>

깃허브 공포증이 생길 것 같지만 오히려 충돌과 에러를 많이 해결하다 보면 연습이 되지 않을까요..? ^^
공감하며 읽었습니다. 좋은 글 감사드립니다.