TIL No.21 팀프로젝트 Git/Git Hub 사용 방법

Seunghyun Yoo·2021년 2월 28일

팀프로젝트를 하면서 깃, 깃헙의 중요성을 다시 깨달으며
앞으로 실무에서 능숙하게 사용하기 위해 프로젝트 시작부터 마무리 단계를 넘어가면서
필요한 명령어들을 정리해보려한다.

기본 용어

  1. Local : 개인의 노트북
  2. Remote : 원격의 환경(github)에 올려놓고 동시 공유
  3. Repository : 깃헙에서 팀원들과 프로젝트를 저장, 공유 할 수 있는 곳 (공유 폴더)
    • PM이 CRA 셋팅을 한 뒤(리액트), 다른 팀원들이 git clone 을 받을 수 있게 Repository를 생성.
  4. git remote add origin https:// 레포지토리 유알엘 : 생성 된 Repository를 CRA셋팅한 프로젝트에 연결해서 다른 Local에서도 사용 할 수 있도록 해주는 명령어
  5. git clone : PM이 셋팅한 Repository를 자신의 Local에 받기 위한 작업.
    • 자신이 원하는 폴더까지 접근 후 클론 작업 필요 (현재 폴더 확인 터미널 명령어 :pwd)
    • 명령어 : git clone URL(Repository의 URL)
  6. branch : 최초 클론 시, Master(Main) 브랜치로 경로가 잡혀 있으며, Master(Main) 브랜치에 작업 할 경우 다른 팀원의 작업 사항들 (원본)에 문제가 생길 수 있기에,
    본인이 작업 할 브랜치를 생성 후 작업 시작
    - 현재 브랜치 확인 명령어 : git branch
    - 작업 할 브랜치 생성 명령어 : git branch feature/브랜치명
    - 작업 할 브랜치로 이동하는 명령어 : git checkout feature/브랜치명
    (브랜치만 생성하고, 이동을 안하게 되면 Master(Main)에서 작업이 될 수 있으니 꼭 이동 명령어 후, 현재 브랜치 확인하길 추천!)
  7. git add . : 현재 브랜치의 모든 작업사항들을 저장하는 명령어
  8. git commit -m "저장 사항 메시지 작성" : git add . 한 저장 사항들을 PR 올리기 전 어떠한 저장 사항인지 commit으로 기록하고, 메시지를 남겨서 저장사항을 트랙킹 할 수 있는 명령어
    • commit 후, push 하기 전에 다른 팀원의 작업이 Master(main)에 머지가 되었다면 Master(main)로 이동 후, git pull origin main 명령어를 사용하여 최신 main을 만들어야함 + pull 받은 작업사항을 자신이 작업한 브랜치로 이동하여 git merge main으로 브랜치에도 최신화 시킨 후 push진행!
      (아래의 작업 순서 참조)
  9. git push origin feature/브랜치명 : 현재 브랜치의 작업사항을 깃헙에 올리는 명령어
  10. PR (Pull Request) : Push 된 commit 사항을 깃헙에 공유하는 작업.
    • 팀원들과 프로젝트 공유를 하면서 최종 업데이트가 되기 위해서는 Merge* 의 단계가 필요한데, Merge가 되기 위해 업무 사항을 깃헙에 공유 할 때의 행위올릴 때 작업사항을 공유하는 행위
  11. Merge: PR을 올린 뒤 최종 승인이 났을 경우 Merge가 되는데, 기존의 Repository에 PR을 올린 작업사항들이 업데이트가 되는 상황
    • 작업 사항이 Merge가 되면, 다른 팀원들은 PR을 올리기 전에 업데이트 된 머지 사항을 자신의 Local에서도 최신화를 시킨 뒤 다시 푸쉬를 해야함.

작업 순서 (React)

작업은 Main 브랜치 작업은 하면 안되며, 브랜치를 분리 후 작업 필요함.
(공용 github에서 파일을 받아오는 방법 + 수정 후 깃허브에 올리는 방법)

PM이 Repository에 프로젝트를 연동하면 아래의 명령어로 작업 진행 가능

  1. 깃허브에 올려져 있는 파일(저장소)을 들어가서 초록색버튼의 Code 버튼을 누르면 URL받을 수 있음
  2. 터미널을 킨 후, 저장하고 싶은 폴더로 경로 설정
    • 현재 경로를 확인하는 명령어 : pwd
    • 경로를 지정(이동)하는 명령어 : cd 폴더명
    • 폴더가 없다면 폴더를 만드는 명령어 : mkdir 새폴더명
  3. 터미널에 git clone 깃허브에서 복사한 URL 붙혀넣기
    • 파일들 다운로드하는데 시간이 좀 걸림
  4. 다운로드받은 파일이 있는 폴더를 vscode를 통해서 오픈
  5. vs code에서 cmd+j 를 누르면 vscode안에서 터미널이 열림
  6. npm install : node_modules 폴더가 클론되지 않기 때문에 package.json 확인 후, npm install 명령어 실행
  7. 현재 BranchMaster(Main)이기 때문에 Branch를 내걸로 수정해야함
  8. git branch feature/seunghyunyoo(내브랜치명) 명령어로 이름 설정
  9. git checkout feature/seunghyunyoo(내브랜치명) 명령어로 이름 설정한 브랜치앞으로 경로 설정 (!!중요!!)
  10. git branch : 현재 브랜치가 어디 앞으로 설정되어있는지 확인하는 명령어
  11. 복사해왔던 파일들을 img, js, styles 등 폴더를 만들기 위한 상위 폴더를 만든 후, 붙혀넣기
    • CRA 초기 셋팅 시, 이미 만들어진 폴더가 있다면 작업 할 파일만 만들면 됨
  12. git add . : 붙혀넣은 작업을 저장하기 위해 기록 준비
  13. git commit -m "Add: 초기세팅(예시)" : 커밋(기록) 남김
  14. git checkout Master(Main) : 메인 브랜치로 이동
  15. git pull origin Master(Main) : 다른 팀원의 Merge 사항을 LocalMaster(Main)브랜치에 최신화 하기 위한 작업
  16. git checkout feature/push를 올리기 위해 최근에 작업한 브랜치 : 자신의 Local Master(Main)브랜치에 최신화 시킨 작업사항들을 본인이 작업했던 작업사항에 최신화 시켜야하기에 메인->작업한 브랜치로 다시 이동
  17. git merge Master(Main) : Master(Main)브랜치의 변동사항을 자신의 브랜치로 Merge해오는 명령어
  18. git add . : 머지를 한 작업사항들을 다시 저장
  19. git commit -m "작업한 메시지" : 머지 사항들 커밋남김
  20. git push origin feature/seunghyunyoo(내브랜치명) : 더 수정 할게 없으면 깃허브로 푸쉬
    • Push가 잘 적용되면 코드 안에 git로 갈 수 있는 URL생성이 되고, 생성된 URL 클릭 후 이동
  21. PR(Pull Request) 작성 : 깃헙에 가서 PR을 작성하고 승인요청을하면 해당내용 전달 완료
    • Master(Main)이 확인하고 승인하면 최종 Merge완료
  22. 최신화 된 Repository를 Local에 최신화 -> 본인 작업사항 Repository에 PR 요청 등 9번 ~ 20번의 작업을 반복적으로 진행.
profile
기본을 중요하게 생각하는 프론트엔드 개발자 유승현입니다! 🙋🏻‍♂️

0개의 댓글