Github 이해하기2(branch)

일단해봐·2023년 7월 13일
0

Git/Github

목록 보기
3/4
post-thumbnail

📌 branch 란?

branch란 git의 자체적인 기능으로 분기라는 뜻으로 버전 관리의 분기점을 만드는 기능이다.

아래 그림처럼 master(main) 브랜치를 중심으로 분기점을 나눠 프로젝트를 여러 프로젝트로 나눠 개발하고 다시 master(main) 브랜치로 merge 한다.

나중에 협업 환경에서 git flow라는 개념으로 main branch, release branch, develop branch, feature branch, hotfix branch 의 flow로 회사마다 조금씩은 다르지만 주로 이러한 flow를 통해 개발이 진행된다.

📌 branch 생성, 전환, 삭제

처음 git init 을 통해 디렉토리를 생성하면 main 혹은 master 브랜치를 통해 개발을 진행하게 된다. 여기서 추가로 branch를 생성하기 위해서는 아래 명령어를 통해서 생성한다.

  • 브랜치 생성 방법
git branch (새 브랜치 명)

혹은

git switch -c (새 브랜치 명)

→ 새로운 브랜치를 생성함과 동시에 전환한다.

  • 브랜치 전환 방법
git switch (브랜치 명)
git checkout (브랜치 명)

git switchgit checkout은 동일하게 분기의 전환을 수행한다. git switch 명령은 주로 분기 간의 개발 및 전환에 중점을 두는 반면 git checkout 명령은 완료된 작업의 커밋 대상 지정에 중점을 둔다.

  • 브랜치 삭제 방법
git branch -D (브랜치 명)

📌 branch 활용하기 : merge

git merge란 서로 다른 branch의 작업 내용을 하나의 branch로 병합하기 위한 명령어다.

위 사진처럼 작업자가 새로운 branch를 만들어 master(main) 브랜치로 병합하는 과정을 merge라 하고명령어는 다음과 같다.

git merge (병합할 브랜치 명)

→ main 브랜치에서 develop 브랜치를 병합하기 위해서는 main 브랜치로 전환한 후 git merge develop 명령어를 입력하면 된다.

→이 과정에서 두 브랜치가 같은 파일의 같은 곳을 수정하면 merge conflict 가 발생한다.

📝 merge conflict

merge conflict 란 브랜치를 병합하는 과정에서 두 브랜치가 같은 파일의 같은 곳을 수정하여 정확히 어떻게 합쳐야 할지 결정할 수 없을 때 발생하는 개념이다.

📌 Github 에서 branch 활용하기 : Pull Request

Pull Request 란 github에 작업이 완료된 브랜치를 요청하는 브랜치에 병합해 달라고 요청을 보내는 것이다.

merge는 git의 자체적인 기능으로 로컬 저장소에서 병합을 하기 위한 명령어이다. 원격 저장소에 브랜치를 merge 하기 위한 과정이 pull request라고 볼 수 있다.

📎 pull request 하는 방법

  • 특정 브랜치에서 파일을 생성 혹은 수정하고 git add / commit을 한 후 병합하고자 하는 브랜치 명으로 push 한다.
git push origin (병합하고자 하는 브랜치 명)
  • 그럼 github > repository > pull requests 에 요청한을 확인하고 병합할 수 있다.
profile
안녕하세요, 프론트엔드 개발자가 될 열정적인 사람입니다.

0개의 댓글