CI\CD/Git

    [Git] git restore 사용해 파일 단위 제어하기(git add 취소, 특정 커밋으로 되돌리기 등)

    git restore이란? git checkout은 하나의 키워드에 많은 기능이 들어있다. 때문에 checkout의 브랜치와 관련된 기능이 git switch 명령어로 새로 나오게 됐다. git restore 또한 새로 나온 키워드로 git의 파일 조작(특정 커밋으로 되돌리기, Unstaging 시키기 등) 만을 위한 기능을 지원하는 명령어이다. git restore [file name]을 사용해 특정 파일 HEAD Commit으로 복구하기 git restore --source [commit hash] [file name] 사용해 특정 파일 특정 Commit으로 복구하기 git restore --staged [file name] 사용해 Staging Area에 올라간 파일 다시 Unstaging 시키기 ..

    [Git] git checkout 이용해 commit 단위로 파일 제어하기

    git checkout이용해 특정 commit으로 되돌리기 git checkout [commit hash] 를 통해 특정 commit으로 되돌릴 수 있다. 이때 [commit hash]는 모든 해시값을 써도 되고 앞 7자리 해시 값을 써도 된다. git checkout [commit hash] git checkout 예시 예를 들어 git log가 다음과 같은 경우 log의 커밋들 중 fourth commit으로 되돌리고 싶다고 해보자. commit f0cdce562bef70fed30f392a18c82543aa2f126b (HEAD -> main) Merge: 027f7aa 1709310 Author: Seyoung Cho Date: Wed Jan 5 23:51:57 2022 +0900 merge com..

    [Git] git stash 사용해 변경 사항 저장하고 꺼내기

    git stash가 필요한 이유 Git 폴더 내부에서 작업을 했을 때 작업물은 Unstaged Area나 Staged Area 둘 중 하나에 저장된다. 이때 만약 작업물을 커밋하지 않고 다른 브랜치로 변경할 경우 변경 사항이 같이 따라가거나 conflict가 일어나게 된다. 따라서 이러한 작업물들을 저장할 임시 공간이 필요한데, 그 공간으로 작업물을 보내주는 명령어가 바로 git stash이다. git stash란? git stash는 Working Directory(단 git add 자체가 안된 것은 제외, modified 것은 stash됨)와 Staging Area의 작업물을 임시 저장공간에 저장하는 명령어이다. git stash를 이용한 저장은 두가지 명령어로 할 수 있다. git stash git..

    [Git] git diff 한 번에 정리하기

    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..

    [Git] git merge 한 번에 정리하기 : Fast Forward Merge, Commit Merge, Conflict Merge

    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는 ..