Git merge란? git branch를 다른 branch로 합치는 과정을 merge라 한다. merge의 기본 단위는 브랜치이며, git merge 명령어로는 커밋 단위로 합치기가 불가능하다. Fast Forward Merge 가장 기본적인 merge는 바로 Fast Forward Merge이다. Fast Forward Merge는 현재 브랜치의 HEAD가 대상 브랜치의 HEAD까지로 옮기는 merge이다. Fast Forward Merge는 다음 명령어를 통해 가능하다. git switch [현재 브랜치] git merge [대상 브랜치] 예를 들어 아래와 같은 git log가 있다고 해보자. feature-view branch의 HEAD는 third commit이며, main 브랜치의 HEAD는 ..
GIT
.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의 해시 값을 저장하는 ..
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 를 이용한 생성과 전환..