GitHub (a.k.a How to Collab with Team Members Using GitHub)

이현정·2022년 4월 2일
1

연습코드:
nomadcoders/git-practice
https://github.com/nomadcoders/git-practice

Fork

fork는 하나의 저장소에 대한 하나의 복사본입니다.
리포지토리를 fork해서 기존 프로젝트에 영향을 주지 않고 변경 사항을 자유롭게 테스트할 수 있습니다.
https://docs.github.com/en/get-started/quickstart/fork-a-repo

Pull Request

원격 저장소의 특정 branch에 push 하고 나면 프로젝트 관리자(fork 해온 부모 코드 저장소 권한자)에게 이 내용을 알리고 내가 수정한 코드를 검토 후 병합해달라고 요청하는 것을 말한다.

코드 충돌을 최소화할 수 있고 push 권한이 없는 프로젝트나 오픈 소스 프로젝트에 기여할 때 많이 사용합니다.

Pull Request 과정 🌟

  1. Fork
    Upstream Repository(원본 리포지토리)를 자신의 저장소로 fork

  2. Clone, Remote설정 (git clone 깃URL)
    fork해온 리포지토리를 로컬 저장소로 Clone

  3. Branch 생성 (git checkout -b 브랜치명)
    클론해온 프로젝트의 코드를 추가, 수정할 때 브랜치를 생성해서 작업할 수 있다.

  4. 수정 작업 후 add, commit, push
    작업 완료 후 add, commit, push를 통해 해당 코드를 원격 저장소로 푸시

  5. Pull Request 생성
    원본 리포지토리에서 New pull request를 통해 Pull Request 생성

  6. Merge Pull Request
    해당 리포지토리의 관리자는 코드의 변경 사항을 확인 후, Merge여부를 결정

  7. Merge 이후 동기화 및 Fork 및 Branch 삭제
    Merge가 완료되면 로컬에 작성한 코드와 원본의 코드를 병합하고 최신의 상태를 유지하게 위해 동기화

Upstream Branch

만약 내가 fork 해서 가져온 부모 코드가 내가 수정 중에 변경되면 어떻게 할까? Upstream Branch 를 이용하면 된다.

Upstream Branch는 fork해온 베이스 저장소의 마스터 브랜치와 연결되어 있는 브랜치이다. 내가 fork 를 함과 동시에 자동 생성된다.

먼저 Upstream Branch 에 메인 리포지토리의 최신 커밋 수정 사항들을 가져온 후 현재 작업중인 브랜치(master)로 수정사항들을 가져올 수 있다.

  1. "fetch origin"버튼
  2. mergin "upstream/master" into "master"

오픈 소스 프로젝트에서 협업하는 방법
https://www.tomasbeuzen.com/post/git-fork-branch-pull

Issue

프로젝트를 관리하기 위한 시스템 중 하나로 아직 미해결된 부분이나 발견된 문제, 버그등에 관한 것들을 이슈로 생성해 기록하는 것이다.
주로 해당 프로젝트를 오픈 소스의 환경에서 작업할 때, 여러 테스터들이 문제를 찾아서 이슈를 적게 된다.
git 의 기능은 아니고, 저장소인 github, gitlab 등의 기능이다.

Milestone

버전을 올릴 때 필요한 것들을 따로 리스트로 모아두는 것으로, 프로젝트에서 해결하거나 달성해야 할 이슈들을 모아서 그 프로젝트의 진척을 보기 위해 사용되는 기능이다.
마일스톤은 프로젝트의 기간에 영향을 주지는 않지만, 꼭 달성해야만 하는 주요한 목표가 성공에 도달하도록 초점을 맞춘다.
예를 들면 새롭게 추가될 특정 기능이나 새로운 버전업 등이 마일스톤이 될 수 있다.

0개의 댓글