git diff 란? git의 diff란 commit 이나 branch 사이에 다른점 혹은 파일이나 Repository와 Working Directory 사이의 다른점을 보여주는 명령어이다. 이에 따라 git diff에는 다양한 옵션이 있다. 이 글에서는 다음의 순서로 진행한다. git diff와 git diff HEAD 를 이용한 변경 사항 확인 git diff [option] [file name] 사용해 특정한 파일에 대한 변경 사항 확인하기 git diff [branch1]..[branch2] 명령어 사용해 브랜치 간 변경사항 확인하기 git diff와 git diff HEAD 를 이용한 변경 사항 확인 먼저 git diff와 git diff HEAD에 대해 알아보자. git diff는 Workin..
CI, CD
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 내부에서 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'. 예를 들..