생활코딩

Coding Everybody

branch의 원리

토픽 생활코딩 > 프로젝트 관리 > 버전관리 시스템 > 지옥에서 온 Git (새 수업으로 대체)

수업소개

여기서는 git의 모든 영역에서 사용되는 브랜치의 원리에 대해서 알아봅니다. 

수업

댓글

댓글 본문
  1. 박병진
    2021.02.10 완료
  2. 박병진
    HEAD는 현재 git checkout한 branch의 최신 commit이 무엇인지 가리킨다.
    branch를 생성했을 떄 HEAD파일이 내부적으로 어떻게 동작하는지 알수 있다.
    HEAD는 checkout한 branch를 가리키며 refs/heads/에 있는 branch는 최신 커밋을 가리킨다.
    최신 commit은 tree와 parent를 가리킨다.
  3. supernet
    감사합니다.
  4. PassionOfStudy
    HEAD는 현재 checkout한 branch의 최신 commit이 무엇인지 가리킨다.
    branch를 생성했을 때 HEAD파일이 내부적으로 어떻게 동작하는지 알게 되었습니다.
    HEAD는 checkout한 branch를 가리키며 refs/heads/에 있는 branch는 최신 커밋을 가리킵니다.
    최신 commit은 tree와 parent를 가리킵니다.
  5. 제로스
    감사합니다
    .git 폴더 내부의 파일들에 관해 궁금했었는데..
    HEAD 파일 자체는 ref: refs/heads/exp 아니면 ref: refs/heads/master
    이렇게 refs 폴더안의 heads 폴더안의 master나 exp파일을 가리키고 있네요.
    또 그안의 커밋번호들이 각각 적혀있고...
  6. 어프리
    와 진짜 완전 이해잘돼요! 평소에 궁금했던 거였는데 감사합니다~
  7. 폭스킴
    git init
    vim f1.txt
    (a추가)
    git add f1.txt
    git commit -m "1"
    vim f1.txt
    (a밑에 b에 추가)
    git commit -am "2"
    git log
    git branch exp
    git branch
    rm .git/refs/heads/exp
    git branch
    (exp브랜치가 삭제된 것 확인)
    git log
    (최신 커밋 아이디값 드래그해서 복사)
    vim .git/refs/heads/exp
    (복사한 최신 커밋 아이디값 추가 후 저장)
    git checkout exp
    vim f2.txt
    git add f2.txt
    git commit -m "3"
    git checkout master
    ls -al
    git log --branches --decorate --graph
  8. 폭스킴
    .git/refs/heads/브랜치이름 : 현재 CHECKOUT한 BRANCH의 최신 COMMIT ID값이 TEXT 화일 형태로 저장
  9. 홍석기
    감사합니다. 뭔가 그림이 그려지는 느낌이네요~