BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Site Reliability Engineering

github 이해하기-2

by 상원 구 2022년 06월 17일
2022년 06월 17일
7

처음 github을 접하고 branch를 생성하고 작업을 하고 있을 때는 당연히 현재 작업하고 있는 공간을 복사해서 하나의 새로운 작업 공간으로 만드는 것이라고 생각했었습니다. 하지만 실제 github의 branch는 이렇게 동작하고 있지 않았습니다. 여기서 github branch가 어떻게 생성 되는지 그리고 어떻게 동작 하는지 알아보도록 하겠습니다.

Commit을 조금 더 이해하기

이전의 github 이해하기-1에서 commit은 소스 코드의 변경사항을 포함한 전체를 하나의 snapshot으로 만든다는 것을 알았습니다. 우선 테스트 할 디렉토리를 하나 만들고 readme.md파일 하나를 추가해 봅시다.

mkdir gittest
cd gittest
git init
touch readme.md
git add .
git commit -m "added readme.md"

위 처럼 readme.md 파일을 add 하고 commit을 완료 했습니다. 그리고 git log 로 현재의 commit 상태를 확인 해 보겠습니다.

github 은 최초 commit 시에 master 라는 branch를 기본으로 생성 해주며 commit을 수행 할 때 마다 HEAD -> 브랜치명 과 같은 텍스트가 commit id 우측에 표시 됩니다.

commit은 시간 순으로 쌓이며, 현재 branch가 어떤 commit을 가리키고 있냐 하는 것입니다. 여기서 두명의 개발자가 commit 5cc02923d742bb007cccadf86876d79f8b8f5213 을 기준으로 같은 파일인 readme.md 를 수정하여 commit 하게 되면 충돌이 일어나게 됩니다. 사실 먼저 수정하고 commit하는 개발자가 승자(?)가 되는 것이죠.

Branch 만들고 다시 commit 이해하기

자 이제 이 상태에서 branch를 만들고, readme.md 파일을 수정하고 commit 해보겠습니다.

git checkout -b branch1
vi readme.md
git log

새로운 commit 인 6ae27ed931a49bb91cffc65667b9a2d0745272a0은 HEAD -> branch1이라고 표시되어 있습니다. 그리고 master에서 생성한 commit 들도 보입니다. 브랜치 branch1을 master를 기준으로 최초 생성 했을때는 5cc02923d742bb007cccadf86876d79f8b8f5213 commit을 기준으로 HEAD -> branch1,master라고 표시 되어 있었을 것입니다. 여기서 다시 master branch의 로그를 확인해 보겠습니다.

master branch는 5cc02923d742bb007cccadf86876d79f8b8f5213에 멈춰 있고 HEAD -> master 라고 표시 되어 있습니다.

현재의 각 branch별 commit의 상태는 위의 그림과 같습니다. commit은 위 그림 처럼 이전 commit을 가르키거나 각 브랜치 들이 어떤 commit을 가르키고 있냐 하는 것입니다. 그런데 git은 이 branch들을 굉장히 빠르게 이동 할 수 있습니다. 그것을 가능 해 주는 것이 HEAD라는 특수한 pointer입니다. 앞서 commit을 할때 마다 각 commit은 HEAD -> 브랜치명으로 현재 브랜치가 가리키는 commit을 나타내 줬습니다. 이 HEAD가 git의 branch 사이를 빠르게 이동하고 또한 특정 commit을 직접적으로 가리키게 할 수 있는 것입니다.

관련

githubbranchcommitgit

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT