[채찍피티] 4일차. GitHub 로 협업하기 - Organization(조직) 경험해보기

채찍피티·2024년 4월 16일

채찍피티

목록 보기
6/8

1. Github 조직 생성

깃허브로 사이드 프로젝트를 진행 하며 서로 코드를 공유할 일이 생기기 마련이다.

이때, 협업을 위해서 깃허브 조직을 생성하여 프로젝트 파일을 관리하게 되는데

기본적이 깃헙 사용 방법을 전달하고자 한다.

우측 상단 유저 메뉴에서 Your organizations 를 선택 하면 내가 소속된 조직들을 확인할 수 있다.

보통 프로젝트 별로 하나의 조직을 생성해 관리하게되고,

조직 안에 프론트 / 백엔드 레포를 하나씩 생성하여 버전 관리 및 코드 공유를 하게된다.

배포를 한 서버에서 하게 될 경우 한 레포지토리에 있는 경우 장점이 있을 수 있으나,

나눠서 배포하는 경우가 일반적이라고 한다.

또한 공개(Public)으로 생성하여야 배포 시 발생하는 문제가 적다.

문제가 적다기 보다는, Public Repository와 달리 Private 프로젝트는 SSH Key를 사용해서 연동해야 하기 때문이다.

레포를 생성한 후에 리더가 초기 프로젝트 코드를 생성하고 공통 디펜던시와

기타 .gitignore 등 셋팅들을 추가하여 업로드 하게 되며

이를 팀원들이 pull 받아 각자 개발한 후에 코드를 통합하는 과정을 진행하게 된다.

2. 유저 초대 & 권한 설정(VS Code에서 푸시 하려면)

유저 이메일로 소속된 팀원들을 초대하고,

권한을 부여하여야 레포에 접근이 가능하다.

추가로,

인텔리제이나, VS Code 등의 서드파티 프로그램에서 깃 활동을 하려면 설정에서

아래와 같이 엑세스 정책을 풀어 주어야 한다.

처음 협업을 시작하며 조직 생성한 사람은 해당 레포에 접근이 되는데

다른 팀원들이,, gitBash에서 명령어로는 접근이 가능한데,

이상하게 코드 에디터에서는 푸시가 안되어,, 굉장히 곤란했던 이슈가 있었다.

다행히 아래처럼 셋업 해 주어 해당 문제를 해결할 수 있었다.

3. 기능별 브랜치 생성

프로젝트 성격에 맞게끔 브랜치 전략을 가져가야 하겠지만

기능별로 브랜치를 나누게 되는 경우가 많은 것 같다.

메인 브랜치

main - 출시될 수 있는 브랜치

develop - 출시 전까지 개발하는 브랜치

보조 브랜치 (FE/BE 공통)

feature 기능 구현 브랜치**

  • util - config/docs 파일 건드릴때
  • user - user 관련 API 개발
    ...

이런 식으로 나누게 되며 팀원들은 각자 맡은 기능을 해당 브랜치에서 작업할 수 있게 된다.

4. 자신의 원격 브랜치에 커밋 & 푸시

브랜치에서 코드를 완성 한 후 로컬에 있던 소스를 원격 레포에 올리는 과정이 필요하다.

이때 미리 브랜치를 생성해 놓고 업로드 해도 좋고, 해당 원격 브랜치로 푸시를 해도 된다.

5. 메인 브랜치에 풀리퀘스트(PR) 보내기

메인 브랜치는 항상 안정성이 보장되어야 하기 때문에,

팀원이 전부 직접 메인으로 푸시 하게 될 경우 충돌이 많이 발생하게된다.

그래서 fork하거나 작업한 브랜치에서 메인으로 머지를 요청하는 과정을 거쳐야 한다.

브랜치에 업데이트가 발생하면 자동으로 아래와 같은 메시지가 발생한다.

자동으로 버전을 비교하여 머지가 가능하다면 Able to merge 를 확인할 수 있다.

풀리퀘를 보내게 되면 자동으로 병합이 가능하다면 아래와 같이 no conflicts가 나온다 ㅎㅎ

그럼 이제 머지를 담당하고 있는 프로젝트 리더가 해당 코드를 확인하고 메인에 적용하게 된다.


이렇게 기본적인 깃과 깃헙을 이용한 협업 과정에 대해

정리해 보는 시간을 가졌다.

짧은 기간이었지만

멘토님이 열정적으로 따라와 주셔서 너무 즐거웠던 시간이었다.

또 직접 블로그로 정리 하다 보니 기억에 더 잘 남는다

감사한 하루

profile
어? 왜 되지?

0개의 댓글