github를 이용한 협업 쉽게 이해하기!

개발자·2021년 12월 25일
7
post-thumbnail
post-custom-banner

💾 github란?

프로젝트를 진행할 때 협업을 도와주는 툴
소스코드 저장 및 공유, 협업 공간으로 사용된다.

📝 기본 사용법

github 계정이 존재하고 Repository를 생성했다는 가정하에 진행함.

1. 환경설정

git을 사용하기 위해 환경설정을 해준다.
(컴퓨터마다 처음에만 해주는 작업)

git config --global user.name "내 이름"
git config --global user.email "내 이메일"

git config --list <!-- 환경설정이 잘 되었는지 확인 -->

2. Initiallize

git을 초기화 해준다.
(프로젝트를 맨 처음 올릴 때만 해주면 됨.)

git init

3. Add

작성한 파일을 전부 add 한다.
특정 파일만 add하려면 . 대신 파일명을 작성한다.

git add . <!-- '.'은 모든 파일을 의미함 -->

4. Commit

작성한 파일의 History를 만들어준다.
ex) 어떤 내용을 변경했는지 등등

git commit -m "commit 메시지"

5. Repository와 연결

github에 만든 Repository와 작성한 소스코드가 존재하는 폴더를 연결해준다.
(해당 Repository에 내 코드를 보내기 위함)

git remote add origin [Repository주소] <!-- []제외하고 작성 -->

6. Push

지정한 Branch에 소스코드를 보낸다.

git push origin [Branch이름] <!-- []제외하고 작성 -->

해당 작업을 끝내면 github에 첫 소스코드가 올라간 것을 확인할 수 있다.
이 다음부터는 소스코드를 수정/작성하고 3->4->6의 과정을 반복하면 된다.


👫 협업 사용법

한 프로젝트를 리더와 팀원이 진행하는 상황이라고 가정

🙋‍♀️ Team Leader

1. 프로젝트 생성

팀 리더가 프로젝트를 생성 후 위의 기본 사용법에 작성한 내용을 진행한다.

🙋‍ Team Member

1. Clone

Team member는 프로젝트를 수행하기 위해 github에 올라온 소스코드를 다운 받아야한다.
이 때 내가 프로젝트를 저장할 폴더 위치에서 해당 명령어를 실행한다.
폴더명을 제외하고 입력하면 Repository명과 동일하게 생성된다.

git clone [Repository주소] [폴더명] <!-- []제외하고 작성 -->

<!-- 모든 이력이 아닌 가장 최신 소스코드만 가져오려면 depth를 추가해준다. -->
git clone --depth=1 [Repository주소] 

2. 개발

다운받은 소스코드에서 Team member가 맡은 부분을 개발하고 기본 사용법의 3->4 과정을 진행한다.

git add .
git commit -m "commit 메시지"

3. Branch 생성

⭐️ master Branch는 최종 버전이 올라가는 곳이다.
Team member의 소스코드를 바로 최종 버전으로 올리기엔 위험하다.
그러므로 Team member 개인을 위한 Branch를 생성해주어야 한다. (에러 방지❗️)

git checkout -b [브랜치명] <!-- []제외하고 작성 -->

4. push

생성한 Branch에 소스코드를 올린다.

git push origin [4번에서 생성한 Branch명] <!-- []제외하고 작성 -->

5. Compare & pull request

push 후 Repository 페이지를 새로고침 해보면 새로운 Branch를 생성해 push했다는 알림 메시지와 함께 Compare & pull request 버튼을 볼 수 있다.
⭐️ Pull request(PR) 은 내 소스코드를 master branch에 올리기 전에 Team Leader에게 확인받는 과정이라고 생각하면 된다.
Team Leader에게 남길 메시지와 함께 pull request를 create한다.

🙋‍♀️ Team Leader

1. Pull request 확인

Team Leader는 Repository의 상단 Pull request 메뉴에 PR이 추가된 것을 확인할 수 있다.
Team member가 작성한 PR을 클릭해 확인한다.

🧐 Team member가 작성한 소스코드를 확인한 후

  • 수정사항이 있으면 => Review changes
  • 문제가 없다면 => Merge pull request -> Confirm merge

2. pull

Team Leader도 개발을 진행중이었을 것이다.
그러므로 Team Leader가 작성중인 소스코드와 Merge된 최종 버전의 소스코드가 일치하지 않게 되어 Version을 맞춰줘야한다(동기화)❗️

⭐️ 이 때, 우선 Team Leader가 작성중이던 소스코드를 저장해줘야 한다.(충돌이 발생할 수 있으므로)

git add .
git commit -m "commit 메시지"

<!-- 변경 내용을 비교해보고 싶으면 diff를 실행해준다. -->
git diff [기존 branch] [비교할 branch] <!-- []제외하고 작성 -->

master branch와 동기화해준다.
pull을 실행하면 Team Leader가 작성한 소스코드와 Team member가 작성한 소스코드가 합쳐진다.

git pull origin master

3. push

동기화 후 Team Leader가 작성한 소스코드까지 개발이 완료되면 push 해준다.
(실제로는 Leader도 본인의 branch가 존재할 것이지만 임의로 진행)

git push origin master

4. 완료

Team Leader + Team member 의 소스코드가 합쳐져 master branch에 올라간 것을 확인할 수 있다.

⭐️ 이렇게 pull, push를 반복하며 협업을 진행한다. ⭐️



Ref

https://youtu.be/lelVripbt2M
https://youtu.be/cwC8t9dno2s

profile
log.info("공부 기록 블로9")
post-custom-banner

0개의 댓글