협업을 위한 Github 사용법 정리

Eun Koo·2023년 11월 14일
post-thumbnail

Github 왜 쓰나요? 🤔

  1. 코드를 안전하게 저장

    → 내 컴퓨터에만 코드를 저장했는데, 만약 내 컴퓨터가 고장났다면?

    Github 에 내 코드를 저장한다면 컴퓨터가 고장나도 코드를 가져올 수 있다.

  2. 개인 포트폴리오

    → 다른 개발자들이 코드를 쉽게 확인할 수 있어 잘 정리해두면 좋다.

  3. 협업

    → 다른 개발자들과 코드를 공유하고, 협업이 가능하다.

협업을 위한 Github 사용법 요약 😎

  1. 팀원 1명 초기 프로젝트 생성

  2. git init

    $ git init
  3. git add & git commit

    (master)$ git add .
    (master)$ git commit -m "메세지"
  4. github 레포지토리 생성

  5. 코드 github 레포지토리로 업로드

    (master)$ git remote add origin <저장소 주소>
    (main)$ git branch -M main
    (main)$ git push -u origin main
  6. github repository 주소 복사 후 팀원들에게 전달

  7. git clone

    $ git clone <github 주소>
  8. 각 팀원들 git 브랜치 생성 & 브랜치로 이동

    (main)$ git branch <브랜치명>
    (브랜치명)$ git checkout <브랜치명>
  9. 기능 개발

  10. git add & git commit & git push

    (브랜치명)$ git add .
    (브랜치명)$ git commit -m "메세지"
    (브랜치명)$ git push origin <브랜치명>
  11. 브랜치 merge하기 (conflict 발생한 경우 12번으로)

  12. conflict 발생한 경우 머지할 브랜치(main) 코드 가져오기

    (브랜치명)$ git checkout <브랜치명> // 이미 해당 브랜치에 있으면 입력 안해도 상관 없음
    (브랜치명)$ git pull origin main // main or master 
  13. conflict 발생한 부분 코드 수정

  14. git add & git commit & git push

    (브랜치명)$ git add .
    (브랜치명)$ git commit -m "메세지"
    (브랜치명)$ git push origin <브랜치명>
  15. github에서 merge하기 (팀원들에게 slack으로 알리기)

  16. 내 로컬로 변경된 코드 가져오기

    (브랜치명)$ git checkout main 
    // main 브랜치로 이동 후 github에 새로 변경된 코드 가져와야 함
    (main)$ git pull origin main
  17. 브랜치 생성 후 기능 개발 (8번 과정부터 다시 진행)


pull request 사용하기? 😮

  1. push 권한이 없는 오픈 소스 프로젝트에 기여할 때 많이 사용한다.
    → 내가 수정한 코드가 있으니 내 branch를 가져가 검토 후 병합 해주세요!

  2. merge하기 전 팀원 중 한 명이 내 코드를 확인하고 머지시키기 때문에 코드 충돌을 피할 수 있다.
    → 제 브랜치 머지 시키려고 하는데 확인하고 풀 받아주세요!

깃 허브 pull request로 가서 푸쉬! 커밋!
그리고 팀원이 한 코드 pull 받고 시작하는 게 제일 중요함!

팀원이 develop에 merge한 내용 가져오려면? 🤗

  1. develop 브랜치로 이동
$ git checkout develop
  1. develop에 merge된 거 받기
$ git pull
  1. 자신의 작업 브랜치로 이동
$ git checkout 'feature branch 이름'
  1. develop에서 받아온 파일을 자신의 branch에도 받기
$ git pull origin develop

알아두면 좋을 것 같아..! 🤓

  1. 로컬에서 삭제된 remote 브랜치는 꼭 삭제하기!
    내가 로컬에 올려서 머지한 브랜치를 remote에서는 삭제 안 해뒀더니 다른 팀원이 develop에서 pull 받아올 때 문제가 생긴 적 있다!
git remote prune origin
git branch -d <branch_name>  

마무리🥪


깃허브 공포증이 생길 것 같지만 오히려 충돌과 에러를 많이 해결하다 보면 연습이 되지 않을까요..? ^^

profile
IT 분야에는 있어요

1개의 댓글

comment-user-thumbnail
2023년 11월 14일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기