![GitHub로 팀 프로젝트 관리하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcuZwa6%2FbtsHZW9yArs%2FwiORsEkCFUvE9GK56RbhC0%2Fimg.png)
팀프로젝트를 진행할 때 GitHub에서 버전 관리를 해주는 것이 가장 편리하다.
GitHub를 쓰지 않고 서로 파일 또는 코드를 주고 받는다면 혼선이 생길 수 있다.
팀프로젝트 버전관리를 어떻게 하면 되는 지 처음부터 끝까지 자세하게 적어보겠다.
우선 GitHub의 기본적인 원리는 다음과 같다.
📌 깃허브를 혼자 사용하는 경우
로컬(내컴퓨터-프로젝트폴더-main브랜치) --- push ---> 원격(깃허브-레포지토리-main브랜치)
로컬(내컴퓨터-프로젝트폴더-main브랜치) <--- pull --- 원격( 깃허브-레포지토리-main브랜치)
📌 깃허브를 팀에서 사용하는 경우
*첫 프로젝트를 다운
로컬(내컴퓨터-프로젝트폴더-main 브랜치) <--- pull --- 원격( 깃허브-레포지토리-main브랜치)
*내가 코드를 수정
로컬(내컴퓨터-프로젝트폴더-나의로컬브랜치) --- push ---> 원격(깃허브-레포지토리-나의원격브랜치)
GitHub에서 팀원이 팀장에게 Pull request 요청
GitHub에서 팀장이 Pull request를 수락하면 팀원이 변경한 코드를 main 브랜치로 merge
*다른 사람이 코드를 수정
로컬(내컴퓨터-프로젝트폴더-나의로컬브랜치) <--- pull --- 원격( 깃허브-레포지토리-main브랜치)
하지만 깃허브를 팀으로 여러 명이서 사용한다면 main(또는 master)과 구성원 모두의 원격 브랜치가 필요하다. 또한 로컬에서도 main과 나만의 브랜치가 필요하다. 구성원이 자신의 로컬 브랜치에서 자신의 원격 브랜치로 pull을 하면 깃허브의 자신의 원격 브랜치로 프로젝트 파일이 저장된다. 그리고 팀장에게 자신의 원격 브랜치에서 main으로 pull request를 요청하면 팀장이 코드를 검토하고 merge 할 수 있다.
1. GitHub 리포지토리 생성 및 설정
1.1 리포지토리 생성 (팀장)
깃허브 웹사이트에서 'New' 버튼을 클릭하여 새로운 리포지토리를 생성한다.
리포지토리 이름을 설정하고 'Add a README file'에 체크한 후 'Create repository' 버튼을 클릭하면 리포지토리 생성이 끝난다.
1.2 리포지토리에 협업자 추가 (팀장)
팀장은 리포지토리를 다른 팀원들이 사용할 수 있도록 초대해야한다.
Settings ➜ Collaborators ➜ Password 입력
➜ Add people ➜ 팀원 검색 및 선택 ➜ Add ~ to this repository
1.3 리포지토리에서 브랜치 생성 (공통)
팀원들을 모두 초대 후, 브랜치를 추가할 차례이다. 현재 브랜치로 main 또는 master 브랜치가 있다. 하지만 브랜치를 하나만 쓴다면 충돌이 일어날 수 있고 문제가 발생할 수 있다. 그래서 브랜치를 여러 개로 나누어서 관리하면 편하다.
main 브랜치 : 팀원들의 코드를 통합한 코드
feature 브랜치 : 각 팀원들이 올리는 코드 (보통 기능별로 브랜치 여러 개를 생성)
main ▼ ➜ View all branches
'New branch' 버튼을 클릭 후, branch 이름을 설정하고 'Create new branch' 버튼을 눌러 브랜치를 생성한다. 이 포스트에서는 팀장과 팀원들이 사용할 각각의 브랜치를 만들어 주면 된다. 브랜치명은 자유다.
New branch name ➜ Create new branch
2. Git 기본 설정
2.1 Git Bash 설치 (공통)
💾 Git 설치
Git - Downloads
Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp
www.git-scm.com
2.2 Git 초기 설정
2.2.1 Git 초기 설정 (팀장)
1) Git Bash 실행하기
Git Bash를 실행시켜서 'cd' 명령어로 해당 워크스페이스 폴더로 접근하거나 해당 워크스페이스 폴더에서 우클릭하여 'Open Git Bash here'를 클릭한다.
2) Git Bash에서 명령어 입력하기
📑 Git Bash
# Git 저장소를 생성
$ git init
# 원격 저장소를 추가
$ git remote add origin 원격 저장소 URL
# 모든 변경사항을 스테이지에 올리기
$ git add .
# 스테이지에 올라간 파일들을 커밋. "커밋 메시지"는 해당 커밋에 대한 설명
$ git commit -m "커밋 메시지"
# 현재 작업 중인 로컬 브랜치의 변경 사항을 원격 저장소(origin)의 'main' 브랜치에 업로드
$ git push origin main
# 나만의 브랜치 생성 및 로컬 브랜치 변경
$ git checkout -b "나만의 브랜치명"
✔️ 원격 저장소 URL : GitHub 리포지토리에서 <>Code▼ ➜ URL 복사
2.2.2 Git 초기 설정 (팀원)
1) Git Bash 실행하기
Git Bash를 실행시켜서 'cd' 명령어로 해당 워크스페이스 폴더로 접근하거나 해당 워크스페이스에서 우클릭하여 'Open Git Bash here'를 클릭한다.
2) Git Bash에서 명령어 입력하기
📑 Git Bash
# 원격 저장소의 코드를 복제하여 로컬에 새로운 Git 저장소를 생성
$ git clone 원격 저장소 URL
# 복제된 프로젝트로 경로 이동
$ cd "프로젝트명"
# 나만의 브랜치 생성 및 로컬 브랜치로 변경
$ git checkout -b "나만의 브랜치명"
✔️ 원격 저장소 URL : GitHub 리포지토리에서 <>Code▼ ➜ URL 복사
3) 생성된 프로젝트 IDE에서 import하기
이제 해당 워크스페이스를 가보면 프로젝트가 생겼음을 확인할 수 있다. 그러면 IDE에서 해당 프로젝트를 import하면 끝이다. 이 포스트에서는 STS에서 import하였다.
File ➜ Open Projects from File System...
➜ Directory... ➜ 생성된 프로젝트 폴더 선택 ➜ Finish
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!