Github 팀 프로젝트를 위한 Repository 생성, 사용 방법

Casin·2022년 10월 21일

GitHub

목록 보기
1/1
post-thumbnail

이 글은 제가 교육받을 때 했던 팀 프로젝트에서의 GitHub, GitHub Desktop 사용방법을 기준으로 포스팅했으므로 현업에서의 사용 방법과는 거리가 멀 수 있습니다.
GitHub 계정과 GitHub Desktop, VS Code(옵션)를 준비

GitHub 사용 방법을 찾아보다 보면 Web에서 리포지토리 생성하고 push, pull, branch 생성 등등을 Git Bash 또는 명령 프롬프트에서 사용하는 방법을 많이 찾아볼 수 있는데
이번 포스팅에서는 Git 명령어를 사용하지 않고 가능한 GitHub Desktop로만 리포지토리 생성, Commit, Publish, Clone, branch 생성, merge를 하는 방법을 알아보도록 하겠습니다.

GitHub Web 또는 Git bash를 사용하여 GitHub을 이용하는 방법은 구글링하면 많이 나오므로 이 포스팅에서는 데스크탑 버전을 중점으로 설명하도록 하겠습니다.


1. GitHub Desktop에서 리포지토리 생성하기

  • GitHub Desktop 화면 상단 탭에서 File - New repository... (Ctrl+N)를 선택하여 리포지토리를 생성
    • Name: 리포지토리(프로젝트) 이름
    • Description: 리포지토리 설명
    • Local path: 프로젝트 폴더를 생성할 root 폴더 지정
    • Initialize this repository with a README: 이 리포지토리에 대한 README.md 파일을 생성합니다.
      📌 추후 CRA 사용 시 README.md 파일이 같이 생성되므로 체크하지 않음.
    • Git ignore: 리포지토리 생성할 때 .gitignore 파일을 같이 생성합니다.
      📌 git ignore 역시 CRA 사용 시 생성되므로 None으로 설정
    • License: 리포지토리의 라이선스를 설정합니다.
      📌 리포지토리를 공유하거나 오픈소스 프로젝트를 생성할 게 아니라면 None으로 설정해 주세요.

2. 프로젝트 생성, 환경설정 후 업로드

React 기반 프로젝트를 생성하기 위해서 CRA를 사용하도록 하겠습니다.

  • GitHub Desktop의 상단 탭에서 Repository - Open in Command Prompt를 선택해서 명령 프롬프트를 열어줍니다.
  • 명령 프롬프트 창에서 npx create-react-app .을 입력하여 React 프로젝트를 생성합니다.

    📌 명령 프롬프트가 아닌 VS Code 터미널에서 실행해도 무관합니다.

  • React 프로젝트 환경설정을 끝내고 main 브랜치에 커밋 해줍니다.

    ❓ 환경설정은 만들려는 프로젝트의 주제에 따라서 각자 다르기 때문에 알아서 설정해 주시면 됩니다.

    예시

    • 프로젝트 구상 단계에서 결정했던 사용할 패키지, 플러그인 설치
    • package.json 설정
    • 프로젝트 디렉토리 구조 설정
  • 커밋 후 Publish repository을 눌러 본인 Github 계정의 리포지토리에 업로드합니다.

    Keep this code private?
    현재 프로젝트가 모든 사람이 볼 수 있는 공개 리포지토리로 등록할 것인지 허용된 사람들만 볼 수 있는 비공개 리포지토리로 등록할 것인지를 설정합니다.


3. 프로젝트 파일을 자신의 PC로 가져오기(Clone)

GitHub 리포지토리에서 Clone을 받아오는 방법은 여러 가지가 있는데 여기서는 총 3가지의 방법을 알려드리려고 합니다.

#1. GitHub Repository HTTPS 주소로 Clone 받아오기

#2. GitHub Repository 웹 페이지에서 GitHub Desktop으로 Clone 받아오기

#3. GitHub Desktop으로 Clone 받아오기

❗ Clone을 하려는 리포지토리가 Private 일 때 생성자 본인이 아닌 다른 팀원이 프로젝트를 받아오기 위해서는 리포지토리 액세스 권한이 있어야 합니다.
❓ 리포지토리 설정으로 들어가 Collaborators - Manage access에서 공동 작업자를 추가해 주세요

📌 같이 공동 작업할 사람이 없고 다른 컴퓨터에서도 작업할 일이 없다면 액세스 권한에 대해서는 무시하셔도 됩니다.

1. GitHub Repository HTTPS 주소로 Clone 받아오기

  • GitHub 리포지토리 웹페이지에서 Code > HTTPS를 선택해서 Clone을 위한 HTTPS 주소를 복사합니다.
  • VS Code 터미널 또는 명령 프롬프트에서 git clone [GithubURL]를 입력하여 Clone을 받아옵니다.

    ❓ [GithubURL]에는 리포지토리 웹페이지에서 복사했던 HTTPS 주소를 넣어주면 됩니다.

  • Clone을 받은 뒤 새로운 Branch를 생성하고 작업을 시작합니다.

    ❗ Clone을 받은 뒤 프로젝트 root 폴더로 이동한 후 새로운 브랜치를 생성하고 작업을 진행해야 합니다.

    • 개인 프로젝트를 진행하더라도 어떠한 기능을 구현할 때 구현하는 기능별로 브랜치를 만들어서 작업하는 게 좋습니다.
      ❓ 그래야 나중에 이력 관리하기도 편하고 문제가 생겼을 때 restore 하기 편합니다
    • git checkout -b <branchName>
      checkout 명령에 -b 옵션을 넣으면 브랜치 작성과 체크아웃을 한 번에 실행할 수 있습니다.
    • git branch <branchName>
      해당 명령어로도 브랜치 생성이 가능하지만 생성 후에 git checkout <branchName> 명령어로 작업 브랜치를 변경해 주어야 합니다.

2. GitHub Repository 웹 페이지에서 GitHub Desktop으로 Clone 받아오기

첫 번째로 사용했던 방법은 리포지토리 HTTPS 주소를 이용해서 터미널에서 git clone 명령어로 받아왔지만
이 포스팅의 최종 목적은 git 명령어를 사용하지 않고 GitHub Desktop으로만 GitHub을 더욱 편하게 이용하는 것이기 때문에 명령 프롬프트, 터미널을 사용하지 않고 Clone을 받아오는 방법에 대해서 설명하도록 하겠습니다.

❗ GitHub Desktop을 사용한다고 하더라도 git 관련 명령어는 알고 있는 게 좋기 때문에 따로 공부하시는 걸 추천합니다.

  • GitHub 리포지토리 웹페이지에서 Code > Open with GitHub Desktop을 선택해서 GitHub Desktop 프로그램을 실행해 주세요.

    ❗ 만약 프로그램이 실행되지 않는다면 1번, 3번 방법으로 시도해 보세요.

  • GitHub Desktop에서 Clone a repository 창이 열리면 Local path에 프로젝트를 받아올 디렉토리를 확인하고 Clone 버튼을 눌러줍니다.
  • GitHub Desktop에서 Current repository를 방금 Clone 했던 레포지토리로 이동한 다음 New branch를 눌러 새로운 브랜치를 생성한 뒤 작업을 시작하면 됩니다.

3. GitHub Desktop으로 Clone 받아오기

마지막으로 GitHub Desktop 프로그램만 사용해서 Clone을 받아오는 방법을 알아보도록 합시다.

  • GitHub Desktop의 상단 탭에서 File - Clone repository를 선택해서 Clone a repository 창을 열어줍니다.
  • GitHub.com 탭에서 Clone을 받아올 리포지토리(CasinGit/test_project)를 선택하고 Local path에 프로젝트를 받아올 디렉토리를 확인하고 Clone 버튼을 눌러줍니다.
  • 이전에 설명했던 대로 Clone을 마친 레포지토리로 이동한 다음 New branch를 생성하고 작업을 시작하면 됩니다.

4. 작업 완료 후 현재 브랜치를 master(main) branch에 병합(merge)

  • 현재 브랜치를 다른 브랜치와 병합하기 위해서는 모든 수정사항을 commit 해야 합니다.

❗ master 브랜치에 바로 병합하는 방법은 현업에서 권장하지 않고 브랜칭 전략, 커밋 메세지 작성 규칙들이 프로젝트, 팀별로 다를 수도 있기 때문에 참고하시길 바랍니다.

📌 기본 생성되는 브랜치 이름인 master와 main의 차이점?

  • 현재 브랜치에서 작업 중인 모든 수정사항을 commit 해줍니다.

    ❓ Undo 버튼은 원하는 특정 commit 상태를 되돌리고 나머지 commit 들은 그대로 유지시키는 기능입니다.
    📌 같은 기능을 수행하지만, 되돌린 이후의 commit을 모두 제거하는 reset 기능도 존재합니다.

  • Publish branch를 눌러 현재 브랜치를 GitHub 레포지토리에 remote branch를 생성하고 프로젝트를 업로드합니다.
  • Create Pull Request를 눌러서 branch merge(병합) 요청을 합니다.
  • 프로젝트 관리자는 GitHub 리포지토리 웹페이지에서 리퀘스트 요청 확인 후 Merge pull request 버튼을 누른 다음 충돌 사항 확인 후 merge 하고 remote branch 삭제
profile
그저 그런 개발 교육생

0개의 댓글