[Git] git으로 팀 프로젝트 관리 - 초기 설정하기

2022. 2. 24. 13:00·Git & GitHub/Git

2~5명이서 프로젝트를 진행할 때, 팀 프로젝트를 관리하기 위해 Git을 사용하는 것은 최고의 선택이다.

git clone, fork 등을 통해 프로젝트를 복제하거나 remote해서 같은 원격저장소의 내용을 함께 만들어나갈 수 있다.

팀원들끼리 협업하는 방법을 차례대로 알아가보자.

 

 

1. 레포지터리 만들고 로컬로 가져오기(팀장)


팀 프로젝트를 생성해보자. 팀장은 팀 프로젝트 레포지터리를 만들고 로컬로 가져오기위해 git clone 명령을 사용할 것이다. 레포지터리에서 원격저장소 주소를 따와 git clone을 실행해보자.

 

$ git clone 원격저장소_주소

 

 

 

 

2. 브랜치 접근 및 알림 설정하기(팀장)


레포지터리에 Settings로 들어가보자. 왼쪽 목록에 Branches라는 버튼이 있을 것이다. 클릭하자.

이제 Add rule을 통해 브랜치 규칙을 추가해주자. 유저이름을 검색해 추가하면 된다!!

 

룰을 설정할 때는 main, dev, feat 브랜치 등을 이름에 추가해주고, 필요한 체크박스를 설정해주면 된다.

main은 함부로 merge를 할 수 없도록 Require a pull request before merging를 체크해준다.

Require approvals를 체크하면 승인을 받을 시 merge할 수 있는 권한을 얻을 수 있다.

혹시 개인적으로 필요하다고 생각하는 설정이 있다면 체크해주도록 하자.

main과 dev 브랜치를 똑같이 만들어주도록 하겠다. 보호받도록 만들어주기 위해서다.

 

 

 

이제 알림을 설정하는 방법이다. Email notifications를 클릭하고 Address에 이메일을 적은 후

Setup notifications를 클릭하면 팀원들에게 요청이 올 때마다 메일로 알람을 받을 수 있다.

 

 

 

 

3-1. 팀원 추가하기(팀장)


레포지터리에 Settings로 들어가보자. 왼쪽 목록에 Colaborators라는 버튼이 있을 것이다. 클릭하자.

이제 Add people을 통해 팀원들을 추가해주자. 유저이름을 검색해 추가하면 된다!!

 

 

 

 

3-2. 초대 수락하기(팀원)


팀원은 이제 깃허브에서 사용하고 있는 이메일 계정에 들어가 메일 목록을 확인해보면 팀장의 유저이름으로 된 메일이 하나 와 있을 것이다. 이 메일에서 View invitation을 클릭하자.

 

 

여기서 Accept invitation버튼을 클릭하면 프로젝트에 합류할 수 있다.

 

 

 

4. 작업하고 커밋하기(팀장)


팀장이 먼저 작업을 시작했다. 개발 환경세팅을 작업해서 올린다고 해보자.

$ touch 환경세팅.txt

$ git add .
$ git commit -m "1.세팅 완료"

# dev 브랜치 생성하고 push하기
$ git checkout -b dev

# 모든 브랜치 푸시
$ git push --all

 

위에서 브랜치 룰을 정해줬기 때문에 팀장이 2개의 브랜치와 작업내용을 푸시해도 팀원들은 main과 dev 브랜치의 내용을 함부로 바꿀 수 없게 된다.

팀원들은 오로지 Feature 브랜치(혹은 Topic 브랜치)에 있는 작업물만 푸시할 수 있고, Develop 브랜치와 합치려면 merge요청을 해야만 한다. 팀장은 요청을 보고 승인할 수도 있고 거절할 수도 있다.

 

'Git & GitHub/Git' 카테고리의 다른 글
  • [Git] 순서대로 merge 하는법 (feat. git rebase)
  • [Git] git으로 팀 프로젝트 관리 - 협업하기
  • [Git] Git 으로 개인 프로젝트 관리하기
  • [Git] git으로 원격저장소 다루기 (push, pull, clone)
gakko
gakko
좌충우돌 개발기
  • gakko
    MYVELOP 마이벨롭
    gakko
  • 전체
    오늘
    어제
    • 분류 전체보기 (203)
      • Spring (23)
        • Spring (10)
        • Spring Boot (7)
        • Spring Security (1)
        • Hibernate (4)
      • Test (3)
      • 끄적끄적 (6)
      • 활동 (35)
        • 부스트캠프 (23)
        • 동아리 (3)
        • 컨퍼런스 (3)
        • 글또 (5)
        • 오픈소스 컨트리뷰션 (1)
      • 디자인패턴 (0)
      • Git & GitHub (22)
        • Git (13)
        • Github Actions (1)
        • 오류해결 (5)
        • 기타(마크다운 등) (3)
      • 리눅스 (6)
        • 기초 (6)
        • 리눅스 서버 구축하기 (0)
      • Infra (2)
        • Docker (1)
        • Elastic Search (0)
        • Jenkins (1)
        • AWS (1)
      • MySQL (7)
        • 기초 (6)
        • Real MySQL (1)
      • 후기 (3)
        • Udemy 리뷰 (3)
      • CS (26)
        • 웹 기본지식 (0)
        • 자료구조 (13)
        • 운영체제 OS (12)
        • 데이터베이스 (1)
        • 시스템 프로그래밍 (0)
        • 기타 (0)
      • Tools (1)
        • 이클립스 (1)
        • IntelliJ (0)
      • 프로젝트 (1)
        • 모여모여(부스트캠프) (1)
      • JAVA (32)
        • Maven (6)
        • 오류해결 (11)
        • 자바 클래스&메소드 (1)
        • JSP & Servlet (12)
      • Javascript (5)
        • 기초 (3)
        • React (2)
      • Python (28)
        • 파이썬 함수 (9)
        • 알고리즘 문제풀이 (16)
        • 데이터 사이언스 (2)
        • 웹 크롤링 (1)
      • 단순정보전달글 저장소 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 우진님
  • 공지사항

  • 인기 글

  • 태그

    GitHub
    파이썬
    자바스크립트
    알고리즘
    웹개발
    부스트캠프
    Spring
    jsp
    자바
    부스트캠프 7기
    부스트캠프 멤버십
    os
    java
    운영체제
    오류해결
    스프링
    MySQL
    Python
    Git
    스프링부트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
gakko
[Git] git으로 팀 프로젝트 관리 - 초기 설정하기
상단으로

티스토리툴바