수 있을까요? HEAD 라는 특수 포인터를 유지하는 덕에 알 수 있습니다. 중략 Git에서 이것은 현재 있는 로컬 브 랜치에 대한 포인터입니다. — Git - Branches in a Nutshell Git 은 어떻게 현재 브랜치를 알 수 있을까요? HEAD 라는 특수 포인터를 유지하는 덕에 알 수 있습니다. 중략 Git에서 이것은 현재 있는 로컬 브 랜치에 대한 포인터입니다. — Git - Branches in a Nutshell HEAD -> pages/detail index, origin/HEAD
알려준다. 2. 현재 checkout 된 commit id 를 가리키는 Ref 리모트 저장소도 HEAD가 있습니다. • origin/HEAD : origin 의 최근 브랜치에서 서버와 마 지막으로 교환한 커밋 HEAD 는 ref 를 가리키거나 특정 커밋으로 checkout 이후에는 커밋을 직접 가리키고 있습니다. 리모트 저장소도 HEAD를 갖고 있습니다.
수정하기, 새 브랜치를 특정 브랜치 의 사본으로 만들기 • echo commit id .git/refs/heads/main • 또는 git update ref refs/heads/main commit id git reset 커멘드 내부적으로 git update ref 가 쓰이고 있습니다. ./git/refs/heads 경로 내부에는 브랜치 이름이 담긴 ref 파일이나 서브 브랜치 폴더가 있습니다. https://git scm.com/book/en/v2/Git Internals Git References
과 틸드 모두 부모 커밋을 가리킨다는 점에서 그 의미는 동일하지만 2개 이 상 쓸 경우가 다릅니다. • 캐럿의 경우 n번째 부모를 뜻함 • 틸드의 경우 n번째 상위 부모를 뜻함 머지를 하면서 부모 커밋이 여러개 생길 수 있는데요. 이 차이를 확실히 알아두면 머 지 커밋이 담긴 로그를 다룰 때에 유용히 사용할 수 있다고 합니다. Stackoverflow 답변 참고
해보자 • 현재 브랜치를 직접 .git/HEAD를 수정해서 전환해보고, 특정 브랜치의 최신 이력 을 .git/refs/* 를 직접 수정해서 변경해보자 update ref, symbolic ref 실습 포함 • 심화 실습 : 깃은 앞서 소개한 쉘 명령어 외에도 update index 등 여러 작은 쉘 스크 립트의 조합으로 운영되는 시스템입니다. 내부를 직접 살펴보면 어떨까요? * 제가 작성한 레포트 Git 사용 시나리오 보고서 참고