본문 바로가기
Computer Science/git, github

Git branch 기본 사용법 및 Github 협업 방법

by 코듀킹 2023. 5. 3.
<목차>
1. Git Branch 기본 사용법
 - Git Branch 생성
 - Git Branch 전환
 - Git Branch 목록 확인
 - Git Branch 삭제
 - Git Branch 병합
2. Git Branch, Github 협업 방법
 - Git으로 작성한 코드 Github에 Push하기
 - Git으로 작성한 코드 Github에서 Pull하기
 - 협업을 위한 Git Branch 전략

* Git, Github를 처음 접하신 다면, 아래 글을 먼저 보고오시는 걸 권장드립니다.

CLI환경에서 git clone생성부터 commit, push까지(MacOS)

* MacOS 환경을 기준으로 작성했습니다. 기본적인 git의 프로세스는 위와 같습니다. 위의 그림을 잘 기억하면서 git clone생성부터 commit과 push까지 수행해봅니다. 기본 커멘드 ls: list segment. 하위로 선

coduking.com

 

1. Git Branch 기본 사용법

Git Branch란, Git에서 코드를 변경하고 저장하는데 사용되는 가장 기본적인 개념 중 하나입니다. Git Branch를 사용하면 여러 작업을 동시에 수행할 수 있으며, 변경 사항을 다른 브랜치에 적용하고 병합할 수 있습니다. git의 flow를 시각화해서 보여주는 아래 사이트에서 쉽게 연습할 수 있으니 오늘 블로그에서 설명하는 내용을 토대로 연습해보시는 걸 추천드립니다.
https://git-school.github.io/visualizing-git/
 

Git Branch 생성

새로운 Git Branch를 생성하려면, git branch 명령어를 사용합니다. 예를 들어, feature라는 이름의 새로운 브랜치를 생성하려면 다음과 같이 입력합니다.

git branch feature

새로운 브랜치를 만들면, 현재 브랜치와 동일한 커밋에서 시작합니다. 따라서 이전 브랜치와 동일한 상태로 시작하고 새로운 작업을 수행할 수 있습니다.

git commit -&gt; git branch feture -&gt; git commit 수행

Git Branch 전환

Git Branch를 전환하려면, git checkout 명령어를 사용합니다. 예를 들어, feature 브랜치로 전환하려면 다음과 같이 입력합니다.

git checkout feature

현재 작업 중인 브랜치를 나타내는 HEAD 포인터는 선택한 checkout feature 브랜치로 이동합니다.

git checkout feature -&gt; git commit 수행

Git Branch 목록 확인

현재 Git Repository에 존재하는 모든 브랜치 목록을 확인하려면, git branch 명령어를 사용합니다.

git branch

* 표시가 있는 브랜치는 현재 작업 중인 브랜치입니다. (ex. master *feature)

Git Branch 삭제

Git Branch를 삭제하려면, git branch -d 명령어를 사용합니다. 예를 들어, feature 브랜치를 삭제하려면 다음과 같이 입력합니다:

git branch -d feature
git checkout master -&gt; gir branch -d feature 수행

Git Branch 생성 및 전환

브랜치를 새로 생성하고, 동시에 해당 브랜치로 이동하려면, git checkout -b 명령어를 사용합니다. feature 브랜치를 다시 생성하고, 해당 브랜치로 전환시켜보겠습니다. 

git checkout -b feature
git checkout -b feature -&gt; git commit 수행

Git Branch 병합

브랜치 간에 변경 사항을 병합하려면, git merge 명령어를 사용합니다. 예를 들어, feature 브랜치의 변경 사항을 master 브랜치에 병합하려면 다음과 같이 입력합니다.

git merge feature
git checkout master -&gt; git commit -&gt; git merge feature 수행

 


2. Git Branch 협업 방법

Git Branch를 효과적으로 사용하기 위해서는, 협업에 필요한 일부 규칙과 git flow, github flow, gitlab flow 등과 같은 검증된 전략을 활용하는 것이 좋습니다.

  • Branch 이름 지정 규칙: 브랜치 이름은 해당 브랜치에서 수행하는 작업의 내용을 잘 나타내는 것이 좋습니다. 일관된 규칙을 사용하면 다른 사람들이 작업 내용을 더 쉽게 이해하고, 브랜치를 식별하고, 병합하는 데 도움이 됩니다.
  • Pull Request 사용: Git Branch를 사용할 때 다른 사람들과 협업하기 위해서는, Pull Request를 사용하는 것이 좋습니다. Pull Request는 코드 변경 사항을 검토하고, 논의하고, 승인하는 프로세스를 담당하는 기능입니다. 브랜치에서 변경 사항을 완료한 후, Pull Request를 생성하고 다른 사람들의 의견을 수렴한 후, 최종적으로 브랜치를 병합할 수 있습니다.
  • 주기적인 병합: 브랜치를 효과적으로 사용하기 위해서는, 주기적으로 변경 사항을 병합해야 합니다. 이렇게 하면 코드 변경 사항의 충돌을 방지하고, 다른 사람들이 작업하는 동안 자신의 변경 사항을 공유할 수 있습니다.

 

Git으로 작성한 코드 Github에 Push하기

Git으로 작성한 코드를 Github(Git 기반의 오픈소스 코드 공유 및 협업 플랫폼)에 Push하기 위해서는 다음과 같은 단계를 따릅니다.
 
1. Github에 Repository 생성하기: Github에서 새로운 Repository를 생성합니다.
2. 로컬 Git Repository 초기화: Local Repository를 초기화하여 해당 디렉토리를 로컬 깃 저장소로 등록합니다.

git init

3. Github(Remote) Repository와 Local Repository 연결: Gittube에서 생성한 Remote Repository와 Local Repository를 연결합니다.

git remote add origin [Gittube Repository URL]

4. 변경 사항을 로컬 Repository에 추가: Git에서는 변경 사항을 추가하고, 커밋 메시지를 작성합니다.

git add .
git commit -m "커밋 메시지"

Github Repository에 변경 사항 Push: Git에서 변경 사항을 Github Repository에 Push합니다.

git push origin [브랜치 이름]

 

Git으로 작성한 코드 Github에서 Pull하기

Github에서 작성한 코드를 Git으로 Pull하기 위해서는 다음과 같은 단계를 따릅니다:
 
1. Github Repository Clone: Git으로 작성한 코드가 저장된 Github Repository를 Clone합니다.

git clone [Gittube Repository URL]

2. 변경 사항 Pull: Gittube에서 변경 사항이 생겼을 경우, Git에서 Pull 명령어를 입력합니다.

git pull origin [브랜치 이름]

 
이제 Git Branch와 Gittube의 기본 사용 방법과 함께, 협업과 코드 공유에 있어서 효율적인 방법을 알아보겠습니다.

 

협업을 위한 Git Branch 전략

여러명의 개발자들이 함께 작업을 할 때, Git Branch 전략을 이용하면 효율적으로 코드를 관리할 수 있습니다. 다음은 협업을 위한 Git Branch 전략 중 대표적인 3가지 방법입니다.
 
1. Centralized Workflow:
중앙 저장소를 기반으로 한 간단한 협업 방법입니다. 중앙 저장소는 모든 개발자가 공유하는 기본 브랜치(일반적으로 main 또는 master)를 유지하며, 각 개발자는 이를 기반으로 작업을 시작하고, 작업이 완료되면 중앙 저장소로 Push합니다. 이 방법은 단순하고 직관적이며, 작은 규모의 프로젝트에서 잘 작동합니다.
 
2. Feature Branch Workflow:
기능별 브랜치를 생성하여 개발하는 방법입니다. 각 개발자는 새로운 기능을 개발하기 위해 브랜치를 만들고, 작업이 완료되면 기능 브랜치를 중앙 저장소로 Push합니다. 이 방법은 개발자들이 각자의 브랜치에서 작업을 수행할 수 있으며, 병합 작업이 발생하기 때문에 코드 충돌을 최소화할 수 있습니다.
 
3. Gitflow Workflow:
Gitflow는 Git Branch를 사용한 복잡한 개발 프로세스를 위한 Branch 전략입니다. develop 브랜치를 기반으로, 새로운 기능은 feature 브랜치에서 개발하고, release 브랜치에서 배포 준비를 하며, hotfix 브랜치에서 긴급한 수정을 수행합니다. 이 방법은 대규모 프로젝트에서 유용하며, 정교한 협업 프로세스를 지원합니다.

Gitflow stratage

 
 
여기까지 Git branch 기본 사용법 및 Github 협업 방법에 대해서 알아보았습니다. 더 자세한 정보는 아래 사이트에 자세하게 나와있으니 참고바랍니다. 감사합니다.

git - 간편 안내서 - 어렵지 않아요!

rogerdudler.github.io

댓글