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

Seunghyun Yoo·2021년 2월 28일
1

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

기본 용어

  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개의 댓글