.git 내부에서 HEAD를 인식하는 방법 .git 내부에는 HEAD파일이 있다. 이 파일은 HEAD를 인식하기 위한 메타 데이터를 저장하는 파일이다. 작업 중인 브랜치에 따라 변하는 HEAD파일 HEAD 파일은 현재 HEAD가 가리키는 해시 값을 저장하는 파일을 가리키는 reference 값을 저장한다. 따라서 HEAD 파일은 현재 작업중인 브랜치에 따라 값이 바뀌게 된다. 예를 들어 main 브랜치에서 .git/HEAD를 확인할 때는 이 값은 "ref: refs/heads/main" 이 된다 하지만 feature-view 브랜치에서 .git/HEAD를 확인하면 이 값은 "ref: refs/heads/feature-view" 가 된다. 이 텍스트 값은 바로 현재 브랜치의 HEAD의 해시 값을 저장하는 ..
CI, CD/Git
git branch -m 을 이용해 현재 브랜치의 이름 변경 git branch -m은 git branch --move의 약자로 Move/Rename 을 위한 명령어이다. *개인적으로는 modify라고 외우고 있다. 현재 브랜치의 이름을 변경하기 위해서는 다음의 명령어를 사용하면 된다. git branch -m [rename branch] 사용 방법 1. 원하는 브랜치로 전환(혹은 생성)한다.(git switch -c) 2. git branch -m을 이용해 현재 브랜치의 이름을 바꾼다. 예시 예를 들어 "feature-layout" 브랜치를 만든다음 해당 브랜치 이름을 "feature-view"로 바꾸고 싶다고 해보자. 다음과 같이 작성하면 변경된다. git switch -c "feature-layou..
git branch -d 를 이용한 삭제 git branch -d 는 git branch --delete 과 같은 명령어이다. 이 명령어를 사용해 브랜치를 삭제하려면 다음과 같이 작성하면 된다. git branch -d [branch name] git branch --delete [branch name] 하지만 git branch -d는 branch가 원 브랜치에 비해 변경사항이 없을 때만 가능하다. 즉, 브랜치에 변경 사항이 있는 경우 다음과 같은 오류가 생긴다. error: The branch 'feature-layout' is not fully merged. If you are sure you want to delete it, run 'git branch -D feature-layout'. 예를 들..
branch란 무엇인가? branch란 개발 저장소를 어지럽히지 않고 병렬적으로 개발을 수행할 수 있도록 도와주는 작업공간이다. branch는 Git의 가장 기본적인 작업공간 단위이다. 따라서 branch라 부르는 작업공간을 전환하고 생성하는 방법은 매우 중요하며, 작업 공간의 목록을 확인하는 것도 매우 중요하다. git branch 이용해 브랜치 목록과 현재 브랜치 확인하기 git branch를 사용하면 브랜치 목록이 뜬다. 이 중 왼쪽에 *표시가 되어 있는 것이 현재 작업중인 브랜치이다. branch 생성하기 이번에는 브랜치를 생성하는 방법을 알아보자. branch를 생성하는 방법은 다음 두가지 방법으로 가능하다. git branch를 이용한 생성 git checkout -b 를 이용한 생성과 전환..
HEAD란 무엇인가? Git을 다루다보면 git log를 찍었을 때 HEAD가 특정 커밋에 찍혀있는 것을 볼 수 있다. 모든 브랜치에는 HEAD 값이 존재하는데 HEAD란 해당 브랜치의 마지막 커밋을 뜻한다. 따라서 아래와 같이 HEAD가 특정 커밋에 찍혀 있을 경우 해당 브랜치의 마지막 커밋이 해당 부분이라는 것을 알 수 있게 된다. 즉, HEAD는 특정 브랜치의 마지막 커밋에 대한 포인터이다. HEAD -> [branch name] 다른 브랜치의 HEAD확인하기 위의 master branch에서 다음 명령어를 이용해 feature-layout이라는 새로운 브랜치를 만들었다고 해보자. git checkout -b "feature-layout" 브랜치를 새로 만들게 되면 이전 master의 commit들..