1. git log 명령어
git log
git log로 보는 화면

2. HEAD
HEAD는 현재 나의 위치를 가리키는 포인터
branch를 a 브랜치로 전환하게 되면 HEAD는 해당 브랜치의 가장 최근 커밋을 가리킴


master에서 DarkMode라는 branch를 새로 만들었을때 (좌) 새로운 branch에서 commit했을 때 (우)
3. git branch
git branch
다른 브랜치로 변경하지 않고 현재 가지고 있는 branch를 보여줌
4. 브랜치 생성
git branch <branch-name>
5. 브랜치 이동
git switch <branch-name>
git checkout 과 동일한 기능이지만,
checkout으로는 또다른 다양한 작업을 할수 있으므로 git switch라는 명령어가 나온 것.
(checkout은 브랜치 이동 , 작업트리 복언을 위해 사용가능)
6. 브랜치 생성 후 해당 브랜치로 이동
git switch -c <branch-name>
git checkout -b <branch-name>
작업을 commit하지 않고 브랜치 이동하려 한다면

위와 같은 에러가 발생.
git commit (저장)
git stash (임시저장)
위 둘 중 하나 하고 branch 변경
7. 브랜치 삭제
git branch -d <branch-name>
해당 브랜치의 작업 내역이 모두 삭제될 수 있으므로 주의
만약 커밋내역이 브랜치와 함께 모두 삭제 되어도 괜찮다면
(주의하자 강제삭제)
git branch -D <branch-name>
해당 브랜치에 있다면 지울 수 없으므로 타 브랜치로 이동 후 삭제
8. 브랜치명 변경
git branch -m <변경할 branch-name>
현재 위치하고 있는 브랜치 이름을 변경해줌
9.(참고) .git 폴더의 HEAD파일

HEAD 파일을 보면 특정 브랜치를 참조하고 있는 것을 알 수 있음
refs폴더의 heads 디렉토리에 가보면 내가 갖고있는 해당 브랜치의 모든 파일이 있음
해당 파일에는 커밋 해시가 들어있음.

branch를 변경한다면 refs의 heads에는 현재 브랜치 명으로 변경됨.
refs/heads/oldies 파일에는 해당 커밋 hash가 들어있음
'공부기록 > Git' 카테고리의 다른 글
git 초기 세팅 (0) | 2023.12.12 |
---|---|
[git에 잘못올린 파일 삭제] 중요한 파일 잘못 올렸을 때ㅠㅠ (0) | 2023.05.17 |
unable to delete : remote ref does not exist (0) | 2023.04.24 |
[git 교과서 메모] # 6 브랜치 (0) | 2022.09.13 |
[git 교과서 메모] # 4 커밋 (0) | 2022.09.13 |