Super Kawaii Cute Cat Kaoani
본문 바로가기
🏃‍♀️ 대외활동/깃허브 리더 서포터즈

[깃허브 사용법] 복잡한 문제를 해결하는 브랜치 쉽게 알아보기

by wonee1 2024. 11. 17.
728x90

✏️이번 포스팅에선 깃허브에서 중요한 기능 중 하나인 브랜치를 그림과 실습으로 배우는 깃& 깃허브 입문 책을 통해서 알아보려고 합니다. 

 

 

 

 

 

 

 프로젝트를 진행할 때는 main 브랜치에 바로 푸시하는 것보다 본인의 작업 브랜치를 생성해 푸시하는 것이 좋습니다.

저도 처음 깃허브를 사용할 때는 잘 몰라서 무조건 main 브랜치로만 푸시했었습니다. 물론 혼자 진행하는 프로젝트라 큰 문제가 되진 않았지만, 협업 환경에서는 이런 습관이 문제가 될 수 있습니다.

 

따라서 오늘은 그림과 실습으로 배우는 깃&깃허브 책 제 4장 복잡한 문제를 해결하는 Git 브랜치에 대해 알아보고, 이를 효과적으로 사용하는 방법을 실습해보도록 하겠습니다.

 

 

 

 


 

✏️Branch란? 

Branch란 프로젝트의 다양한 버전이나 기능을 독립적으로 개발하거나 관리할 수 있는 기능으로, 쉽게 말해 여러 작업을 동시에 진행할 수 있도록 돕는 기능입니다.  

 

실제 브랜치의 흐름이 나무줄기에서 가지들이 갈라져 나온 것과 같은 모습을 하고 있습니다. 이러한 작업 방식을 Git 워크플로우(Git Workflow)라고 하며 Git을 사용해 협업하는 방식 또는 개발 프로세스를 의미합니다. 

 

 

 

그럼 브랜치를 사용하면 얻는 장점은 무엇일까요? 브랜치 사용 장점은 다음과 같습니다. 

 

 

1️⃣독립적인 업무 진행

 

  • 각 브랜치에서 독자적으로 개발 작업을 진행할 수 있습니다. 즉 여러 개발자가 동시에 다양한 작업을 수행할 수 있습니다.  

 

2️⃣충돌 최소화

 

  • 브랜치는 독립적으로 작업하면서 다른 브랜치에 영향을 주지 않기 때문에 충돌이 발생할 가능성이 적습니다. 

 

 

3️⃣ 안정적인 버전 

 

  • 각 브랜치에서 담당하는 업무는 독립적인 버전으로 관리될 수 잇습니다. 즉 여려 기능이 동시에 개발되더라도 기능 또는 변경 사항을 쉽게 추적할 수 있습니다. 

 

 

 


 

📌Git 브랜치를 가리키는 HEAD

 

Git의 워크플로우를 완벽히 이해하려면 HEAD라는 개념을 확실히 숙지해야 합니다.

 

HEAD는 현재 작업 중인 브랜치의 최신 커밋을 가리키는 지점(포인터)를 말합니다. 즉 HEAD는 현재 작업 중인 커밋의 위치를 나타냅니다. 

 

 

 

 

 

다음과 같이 HEAD라는 포인터는 현재 브랜치의 가장 최신 커밋을 바라보게 됩니다. 

 

 

 


 

 

 

 

💻브린채를 자유자재로 다루기 CLI 실습 

 

4.3.1 초기 커밋 

 

💠우선 Git-Directory 디렉터리를 생성해줍니다. 그 다음 디렉터리에서 Branch1이라는 디렉터리를 생성합니다. 

 

 

 

 

💠 그 다음 git init 명령어를 입력해 Git이 관찰할 수 있는 상태로 만듭니다.  또한 초기 커밋을 진행하기 위해 Branch1 디렉터리에서 다음과 같이 homepage.txt 파일을 만들어서 저장합니다.

 

 

 

💠 그 다음 현재 상태를 확인하는 git status 명령어를 실행합니다. 그럼 homepage.txt가 빨간색 글씨로 표현되는 데 이는 아직 스테이징 영역에 넣지 않았기 때문에 발생하는 오류 입니다. 

 

 

 

💠 git add를 실행하여 스테이징 영역에 넣어줍니다. 

 

 

 

💠 이제 다음과 같이 커밋을 합니다. 

 

 

 

💠 git log를 통해 커밋이 잘됐는지 확인합니다. 

 

💠 그 다음 홈 페이지 화면 사이즈를 설정이라는 메시지로 커밋을 진행합니다,

 

 

 

💠 HEAD는 여전히 main을 바라보고 최근 커밋인 홈페이지 화면 사이즈 설정을 바로 보게 됩니다. 

이 진행사항이 머릿속에 잘 그려지지 않았는데 책의 그림을 보니까 이해가 쉬웠습니다. 

 

 

 

 

4.3.2  git branch <브랜치명> - 브랜치 생성하기 

💠 이제 새로운 브랜치를 하나 더 생성해보았습니다. 

브랜치를 생성하는 명령어는 git branch <브랜치명> 입니다. 

 

 

 

4.3.3 git branch - 모든 브랜치 확인

💠그런 다음 git branch 명령어를 실행하면 현재 생성된 브랜치를 모두 확인할 수 있습니다. 

 

 

 

master 앞의 *은 현재 master 브랜치를 Head가 가리키고 있다는 걸 의미합니다. 

4.3.4 git switch- 브랜치 전환하기 (HEAD 이동)

 

💠이제 브랜치를 옮기는 작업, 즉 HEAD를 옮기는 작업을 해보겠습니다. git switch <브랜치명>으로 브랜치를 옮길 수 잇습니다. 

 

 

 

💠그 다음 git branch와 git log를 실행해서 어떻게 변화했는지 확인해봅니다. 

 

 

다음과 같이 HEAD가 master가 아닌 feature/header를 가리키는 것을 확인할 수 있습니다.

 


 

🔚마무리하며 

 

이번 포스팅에서는 Git의 브랜치와 HEAD 개념에 대해 알아보고, 이를 실습하는 시간을 가졌습니다. Git의 워크플로우와 핵심 개념을 이해하기 위해 꼭 알아야 할 내용들을 다뤘는데요, 더 자세한 내용은 "그림과 실습으로 배우는 깃 & 깃허브 입문"에서 확인할 수 있습니다.  책에 직관적인 그림과 다양한 실습 예제가 포함되어 있어, Git과 GitHub의 사용법을 체계적으로 배우기에 적합합니다. 직접 실습하면서 배우면 Git의 개념과 기능을 더 쉽게 이해할 수 있으니, 관심 있는 분들은 참고해 보세요! 😊

 

 

 

도서 링크🔽

 

https://www.yes24.com/Product/Goods/133290567

 

그림과 실습으로 배우는 깃 & 깃허브 입문 - 예스24

Git, GitHub 입문. 이 책 한 권으로 끝낼 수 있습니다!Git을 처음 마주하면 대부분 당황한다. 저자 또한 비슷한 경험이 있고, Git을 학습하는 과정에서 원리를 알고 접근하면 굉장히 쉽고 간단하게 Git

www.yes24.com

https://www.aladin.co.kr/m/mproduct.aspx?ItemId=346702083&srsltid=AfmBOoq5EEwqxvmEdT4tdbfkTzO9IuGcSD4rT_idMcYQsmhEh9qIhxs1

 

그림과 실습으로 배우는 깃 & 깃허브 입문

Git을 처음 마주하면 대부분 당황한다. 저자 또한 비슷한 경험이 있고, Git을 학습하는 과정에서 원리를 알고 접근하면 굉장히 쉽고 간단하게 Git을 다룰 수 있다는 사실을 깨달았다. 이 책은 입문

www.aladin.co.kr

 

728x90