Commit과 Branch의 관계

Git의 "커밋(Commit)"과 "브랜치(Branch)" 사이의 중요한 관계와 활용할 수 있는 명령어 사용해보기
Commit과 Branch의 관계
'커밋(Commit)'과 '브랜치(Branch)'는 Git의 핵심적인 키워드로 서로 밀접하게 연결되어 있습니다. 커밋을 통해 변경 사항의 히스토리를 세밀하게 관리하고, 브랜치를 통해 다양한 기능 개발이나 버그 수정 작업을 독립적으로 진행할 수 있어요.
 
Git의 세계에서, 커밋은 우리가 시간 여행할 때 남기는 발자국이고, 브랜치는 다양한 경로를 탐험할 수 있는 다양한 경로라고 할 수 있습니다.
 
커밋과 브랜치가 잘 조화를 이루면, 코드를 더욱 안전하고 효율적으로 관리할 수 있습니다.
팀 프로젝트에서 각 팀원이 서로 다른 브랜치에서 작업하고, 이를 충돌 없이 최종적으로 하나의 완성된 제품으로 통합할 수 있다는 점에서, 브랜치의 활용은 더욱 중요해집니다.
 

Commit과 Branch의 관계

커밋 아이콘
커밋 아이콘
브랜치를 사용하여 다양한 기능 개발을 동시에 진행하고, 필요에 따라 이러한 브랜치들을 병합할 수도 있습니다. 또한, 이미 만들어진 Commit을 수정하거나, 되돌리는 등의 고급 기능을 사용하여 더욱 효율적으로 작업을 관리할 수 있습니다.
 
Git에서 브랜치는 프로젝트의 다른 버전을 병렬로 개발할 수 있게 해주는 강력한 기능입니다. 각 브랜치는 독립적인 개발 흐름을 나타내며, 필요에 따라 서로 다른 브랜치의 변경 사항을 병합할 수 있습니다. Commit은 이러한 브랜치 구조의 핵심을 이루며, 브랜치 간의 변경 사항을 전달하는 주요 수단입니다.
 

브랜치 분리 및 병합하기

 
  • 브랜치 생성
새 기능 개발이나 버그 수정을 위한 작업을 시작할 때는, branch 명령어로 새로운 브랜치를 생성해주세요. 이렇게 하면 현재 작업 중인 브랜치의 모든 커밋 이력을 그대로 가져와 새로운 작업 흐름을 시작할 수 있습니다.
git branch <브랜치명>
 
  • 브랜치 전환
checkout 명령어를 사용하여 다른 브랜치로 전환할 수 있어요. 이를 통해 서로 다른 작업 흐름 간에 쉽게 이동할 수 있습니다.
git checkout <브랜치명>
 
  • 병합
두 브랜치의 변경 사항을 합치고 싶을 때는 merge 명령어를 사용해서 두 브랜치를 병합할 수 있어요. 아래 명령어은 현재 브랜치에 지정된 브랜치의 변경 사항을 병합합니다.
git merge <브랜치명>
 

Commit 수정하기

작업하다보면 이미 커밋한 내용에 빠진 변경 사항이 있거나 메시지를 수정하고 싶을 때가 있죠? 이런 경우 git commit --amend 명령어를 사용하여 마지막 커밋을 수정할 수 있습니다.
 
  • 사용법
git add <파일명>으로 빠뜨린 변경 사항을 스테이징 영역에 추가한 후, git commit --amend 명령어를 실행합니다. 이때 커밋 메시지를 수정할 수 있는 편집기가 열립니다.
  • 주의사항
이미 원격 저장소에 푸시된 커밋을 -amend로 수정하고 다시 푸시할 경우, 다른 사용자들과의 이력 충돌을 일으킬 수 있습니다. 이 경우 git push --force를 사용해야 하지만, 팀원들과 충분히 소통한 후 신중하게 사용해야 합니다.
 

Commit 되돌리기

개발 과정에서 잘못된 변경 사항을 커밋했거나, 특정 시점으로 되돌아가야 할 필요가 있을 때, git revertgit reset 명령어를 사용하여 커밋을 되돌릴 수 있습니다.
 
  • git revert
git revert <커밋 해시>
지정된 커밋의 변경 사항을 취소하는 새로운 커밋을 생성합니다. 이 방법은 공개적으로 공유된 이력을 안전하게 되돌리고 싶을 때 사용하기 적합합니다.
  • git reset
git reset --hard <커밋 해시>
지정된 커밋으로 작업 디렉토리의 상태를 되돌립니다.
-hard 옵션은 작업 디렉토리와 인덱스(스테이징 영역)의 변경 사항까지 모두 되돌립니다.
✔️ reset 명령어는 로컬에서의 작업을 정리할 때 유용하지만, 원격 저장소에 이미 푸시된 변경 사항을 되돌리려면 주의가 필요하다는 점 유의해주세요!
 
GitHub 공식문서에서 더 많은 Commit 활용 방법을 알아보세요.
 

 
 
🔽 아래에서 뉴스레터를 구독하고, IT커리어 팁을 쉽게 받아 보세요!
Share article

코드잇 스프린트 블로그