git add .
: 모든 파일 추가git commit [커밋메시지]
: 커밋하는 메시지 추가git commit --amend
: 현재 커밋을 직전 커밋에 함께 포함 (덮어쓰기)git commit -m "message"
로 메시지를 남긴 경우에만 사용 가능합니다.git clone [저장소]
: 저장소 복제git push [원격 저장소] [로컬 브랜치]
: 새로운 로컬 브랜치나 동일한 이름의 로컬 브랜치를 원격 저장소에 푸쉬git pull [원격 저장소]
: 원격 저장소에서 변경사항을 가져와 현재 브랜치에 합치기git branch [브랜치명]
: 새로운 브랜치 생성git branch -m [기존 브랜치명] [새 브랜치명]
: 브랜치 이름 바꾸기git switch [브랜치명]
: 특정 브랜치로 이동git switch -c [브런치명]
: 브런치 만들면서 바로 이동git checkout
: 브랜치 이동git checkout [커밋아이디 or HEAD~[n]]
: 특정 시점으로 돌아가기git checkout [브랜치]
: 해당 브랜치의 최신 커밋으로 돌리기git checkout -b [브랜치]
: 브런치 만들면서 바로 이동git log
: 모든 커밋 이력 표시git log --oneline
: 모든 커밋 이력을 한줄로 표기git reflog
: 지금까지 HEAD가 추적해 온 커밋 이력 모두 표시 (로컬에서 실행한 브랜치 이동, 커밋 이력)git reflog [브런치명]
: 특정 브랜치의 reflog만 표시git diff [커밋아이디] --name-only
: 과거와 현재 달라진 파일 비교, name only를 제외하면 내용도 함께 볼 수 있음git reset
: add 되돌리기git reset [커밋아이디 or HEAD~[n]]
(옵션 x ) : add 와 커밋 이력을 되돌리고 (unstaged 상태) 파일 내용은 유지git reset --soft [커밋아이디 or HEAD~[n]]
: 커밋 이력만 되돌리고 (add는 되어있는 상태, 즉 staged 상태) 파일 내용은 유지git reset --mixed [커밋아이디 or HEAD~[n]]
: add 이전 상태git reset --hard [커밋아이디 or HEAD~[n]]
: 커밋 이력, 파일 내용 전부 되돌리기git revert
: 커밋 내용 되돌리기git revert [커밋 아이디]
: 특정 커밋 내용 되돌리기Git 커밋 되돌리기 ( + reset과 revert의 차이점 )
git rebase
: 커밋 수정 등 로그 관리하기git rebase -i HEAD~[n]
: 새 커밋을 n번째 커밋에 포함하고 싶을 때 편집기로 직접 작성git rebase -i HEAD~[n] --autosquash
: 새 커밋을 n번째 커밋에 포함하는데 편집기 작성 없이 자동으로 반영git stash
: 로컬의 변경 내용을 일시적으로 보존git stash pop
: 보존했던 내용을 다시 되돌리기git stash push -m "Message"
: 메시지와 함께 일시적 보존