#14 #깃허브 연동 방법

서영·2025년 8월 26일
4

GitHub

목록 보기
2/2
post-thumbnail

안녕하세요! 오늘은 어렵디 어려운 깃허브 연동 방법에 대해 알아보려고 해요 😎

GitHub Organization이란?

본격적으로 시작하기에 앞서서 GitHub Organization에 대해 알아볼게요
GitHub Organization은 쉽게 말해 여러 사람들이 모여서 프로젝트를 관리하고 협업할 수 있는 그룹 계정 같은 거라고 이해하시면 댈것같아요!!

Organization의 구조

GitHub Organization의 구조는 소유자,일반 멤버, 팀 이렇게 구성되어 있어요

Owner(소유자) : 조직 전체를 관리할 수 있어요. (멤버 초대, 저장소 삭제, 권한 변경 등)
Member(일반 멤버) : Owner가 정해둔 범위 내에서 저장소에 접근 가능
Team(팀) : 멤버들을 묶어서 권한을 관리할 수 있음

예를 들어 프론트엔드 팀, 백엔드 팀을 나누는 식이죠!

Organization에서 레포지토리 생성하기

저는 학교에서 진행하는 전공 동아리만의 Organization이 있어 동아리 Organization을 통해서 레포지스토리를 생성하고 어떻게 많은 사람들과 협업하는지에 대해 차근차근 알아보아요🔥🔥

GitHub Organization에 레포지토리 생성하기 ✨

  1. 깃허브 계정에 있는 Organization을 선택해주세요!
    org 선택

  1. Organization에서 상단에 있는 Repositories를 선택합니다
    repo 선택

  1. 레포 페이지에 들어와서 New repository를 클릭해 새로운 레포를 만들어주세요
    new repo

  1. 레포지토리 설정 후 Create repository를 눌러 생성하기
    create repo
  • Repository name
    새 레포지토리 이름을 적는 칸
    → 영어 소문자, 숫자, -(하이픈) 사용 가능
    → 띄어쓰기는 허용되지 않으니 대신 -를 쓰는 게 일반적

  • Description
    레포지토리에 대한 간단한 설명을 쓰는 칸
    → 필수는 아니지만 써두면 다른 사람들이 이 레포가 어떤 프로젝트인지 쉽게 이해할 수 있음

    ⭐위와 같은 방식으로 Organization에 레포를 생성할 수가 있어요!!⭐


포크(Fork)🍴

Organization에서 협업할 때도 필수 스킬이라고 불리는 포크에 대해 이제 설명드릴게요!

포크의 정의

포크란 다른 사람(또는 다른 조직)의 저장소(repo)를 내 계정/우리 Organization으로 ‘복제’해서, 독립적으로 수정·실험할 수 있게 만든 저장소입니다!

왜 포크를 사용해야하는가?

포크를 사용해야하는 이유는 크게 3가지 정도가 있는데요 ㅇㅅㅇ

상황왜 포크?핵심 포인트
오픈소스 기여원본에 쓰기 권한 없음이슈 → 포크 → 브랜치 → PR → 리뷰/머지
내부 레포 권한 없음정책/권한 제한Private 포크 허용 여부, CI 승인 흐름 확인
대규모 실험/리팩토링원본에 영향 없이 독립 실험장기 포크 운영(주기적 rebase), Draft PR로 방향 합의

위와 같은 이유들로 포크를 저희는 사용해요!
그중에서 가장 저희가 많이 쓰는 이유는 내 마음대로 실험·리팩토링 하고 싶을 때 원본에 영향을 주고 싶지 않을때 자주 사용하겟죠..?헤헿

포크의 기본 흐름

  1. 원본 저장소(Upstream)를 포크
    → GitHub에서 Fork 버튼 클릭!

  2. 내 포크(Origin)를 로컬에 클론

    git clone https://github.com/<내계정>/<forked-repo>.git
    cd <forked-repo>

  3. 원본 저장소를 upstream Remote로 추가

    git remote add upstream https://github.com/<원본소유자>/<원본레포>.git
    git remote -v   # origin, upstream 확인
  4. 새 브랜치에서 작업 → 커밋

    git checkout -b feat/my-change
    # 코드 수정 후
    git add .
    git commit -m "feat: 멋진 기능 추가"
  5. 내 포크(origin)로 push

    git push -u origin feat/my-change
  6. 원본 저장소로 Pull Request(PR) 오픈

    • GitHub에서 “Compare & pull request” 버튼 클릭
    • 변경 내용, 이유, 테스트 방법을 상세히 작성
  7. 코드 리뷰 → 수정 → 머지!

    • 리뷰 반영 후 추가 커밋

🌲Git 브랜치(Branch)🌲

🌳 Git 브랜치(Branch)란?

브랜치는 말 그대로 나뭇가지처럼 코드 흐름을 분리한 것이에요!
프로젝트의 메인 코드(main/master)에서 가지를 쳐서 새로운 작업 공간을 만드는 개념이에요.
새로운 기능이나 버그 수정을 안전하게 실험할 수 있고, 다 끝난 후에는 다시 main 브랜치에 합치는 걸 merge(병합)라고 해요.

💖 브랜치를 쓰면 원본(main)은 안전하게 두고, 새로운 기능은 독립된 공간에서 자유롭게 실험할 수 있어요! 💖

🖤 브랜치를 쓰는 이유

  1. 원본 코드(main)를 안전하게 보호😶‍🌫️
    • main에서 직접 고치면 프로젝트 전체에 영향 → 위험!
    • 브랜치에서 마음껏 수정하고 테스트 가능
  2. 각자 독립된 공간에서 개발 → 충돌 최소화💥💥
    • 동시에 작업해도 main은 깨끗하게 유지!
  3. 협업 시 코드 리뷰, 기능 단위 관리가 수월해짐
    • 버그 수정, 긴급 패치 등도 별도 브랜치로 처리

🖤 Git 브랜치 협업 정리

1️⃣ users라는 새 브랜치 생성 및 이동

$ git switch -c users

git switch -c {브랜치명} {기준브랜치}
{기준브랜치}는 생략 가능 (생략 시 현재 브랜치를 기준으로 생성됨)


2️⃣ 바로 main에 합치는 경우

main 브랜치로 이동

$ git switch main

users 브랜치를 main에 병합

$ git merge users

업데이트된 main을 리모트에도 반영

$ git push origin main

3️⃣ PR 받은 후 머지하는 경우

작업한 브랜치를 리모트에 push

$ git push origin users
* GitHub에서 **PR(Pull Request)** 생성
* 팀원 리뷰 → 승인되면 main에 병합

4️⃣ 작업 완료 후 브랜치 정리

로컬 브랜치 삭제

$ git branch -d users

리모트 브랜치 삭제

$ git push origin --delete users

브랜치 기본 명령어

# 현재 브랜치 확인
git branch

# 새 브랜치 생성
git branch feat/login

# 브랜치 이동
git checkout feat/login
# (최신 git에서는)
git switch feat/login

# 브랜치 생성 + 이동 동시에
git checkout -b feat/login
# 또는
git switch -c feat/login

# 브랜치 삭제
git branch -d feat/login

브랜치 병합(Marge)

# main으로 이동
git checkout main

# main 최신화
git pull origin main

# feat/login 브랜치 병합
git merge feat/login

# 결과 푸시
git push origin main

오늘은 GitHub Organization, Fork, Branch까지 차근차근 정리해봤어요!
처음에는 조금 헷갈릴 수 있지만, 직접 따라 해보면서 익숙해지면 협업이 훨씬 수월해진답니다 ㅎㅎ
앞으로 팀 프로젝트를 하거나 오픈소스에 기여할 때 꼭 도움이 되길 바라요! ✨

우리 모두 즐코!

참고 자료 : Organization 만드는 방법
참고 자료 : https://codingtoday.tistory.com/86
참고 자료 : https://6mini.github.io/git/2022/06/12/branch/

3개의 댓글

comment-user-thumbnail
2025년 8월 27일

허거걱 이제 GitHub 연동을 완벽하게 이해할 수 있을 것 같아요~! ♥️
이걸 활용해서 GitHub 연동을 잘 해볼게용~

1개의 답글
comment-user-thumbnail
2025년 8월 28일

와 너무 멋있어요!!!!!!!!!!!!

답글 달기