자주 사용하는 Git 명령어 모음

아! 그거! 뭐였지! 의 그거를 바로바로 깨닫기 위해 정리해보았다. 밥먹듯이 쓰는 기본 명령어(add, commit, push, pull 등)들을 다루지는 않는다.

Pull - 원격 저장소로부터 내려받을 때

fetch-rebase

git pull과 마찬가지로 원격 저장소의 내용을 로컬에도 반영

혼자 작업하는 게 아니라면 branch가 무수히 많이 나뉘므로 fetch-rebase 방식을 사용하는 것이 git pull을 사용하는 것보다 graph가 깔끔해짐

git fetch {원격} {브랜치명}
git rebase

이미 디렉토리 내에 무언가 있는데 clone 받고 싶을 때

그냥 받으면 already exist 오류가 뜬다.

이럴 때에는 직접 원격 저장소로 등록하고 임의로 pull을 받아야 한다.

git remote add origin {repository url}
git pull origin {브랜치명}

변경 사항 스택에 저장

pull을 받거나 branch를 옮기는 등의 작업을 하려고 하는데 변경 사항 때문에 수행할 수 없을 때 주로 사용

git stash // 현재 변경 사항을 stack에 보관
git stash pop // stack에서 다시 꺼냄

Commit - 원격 저장소에 코드를 올릴 때

git reset —soft head^

방금 커밋한 내용이 잘못했을 때 시간을 달려서 커밋을 되돌릴 수만 있다면

(거친 세상속에 내 손을 잡아주길~)

git commit // 문제

git reset --soft head^ // 직전의 커밋을 취소 (add는 유지)

원격 저장소에 올린 파일을 없애고 추적하지 않도록 하기

.gitignore에 포함되어야 하는데 원격 저장소에 올려버려서 추적 대상에 들어가버린 파일을 원격 저장소에서도 지우고 추적 대상에서도 제외하고자 할 때 사용하는 방법

git rm --cached {파일명}
git rm -r --cached {폴더명}

원격 저장소에 올린 파일을 유지하되 더이상 추적하지 않도록 하기

위와 달리 원격 저장소에 올라간 것은 그대로 두되 앞으로 추적 대상에서는 제외하고자 할 때 사용하는 방법

기본 틀만 github에 올려 놓고 내용물은 환경에 따라 달리하고 싶을 때 사용

즉, develop/production에 따라 값이 달라지는 환경 변수들을 관리할 때 사용

git update-index --skip-worktree {파일명}

Branch Management - 협업 시의 브랜치 관리

브랜치 생성 및 이동

git checkout -b {브랜치명}

Last updated