Git 자주쓰는 명령어

작성일

설정 정보 (Config)

사용자 정보 설정

# repository 마다 사용자 정보 설정
git config --local user.email "yessm621@gmail.com"
git config --local user.name "yessm621"

# 전역(Global)으로 설정
git config --global user.email "yessm621@gmail.com"
git config --global user.name "yessm621"

Remote 저장소

저장소 연결/삭제

# 저장소 연결 상태 확인
git remote -v

# 저장소 연결
git remote add origin https://github.com/yessm621/yessm621.github.io

# 저장소 삭제
git remote remove origin

Clone

저장소 clone

git clone 깃헙주소 프로젝트폴더명(생략가능)

저장소의 특정 브랜치 clone

git clone 깃헙주소 --branch 브랜치명 --single-branch 프로젝트폴더명

브랜치

브랜치 조회

# 생성된 모든 브랜치 조회
git branch -a

브랜치 생성과 삭제

# 로컬 브랜치 생성하고 바로 checkout
git checkout -b issue1

# 브랜치 삭제
git branch -d issue1

# 브랜치 삭제(강제)
git branch -D issue1

브랜치명 변경

git branch -m old_branch new_branch

원격 브랜치 생성과 삭제

# 로컬에 브랜치 생성된 상태에서 진행
# 원격 브랜치 생성
git push origin issue1

# 원격 브랜치 삭제
git push origin --delete issue1

원격 브랜치 동기화

# 모든 브랜치 동기화
git remote prune origin

Commit

commit 명 변경

아래 명령어 입력하고 수정한 다음 :wq 로 저장

git commit --amend

commit 날짜 변경

# 마지막 Commit 날짜를 현재 날짜로 설정
git commit --amend --no-edit --date "$(date)"

# 마지막 Commit 날짜를 임의의 날짜로 설정
git commit --amend --no-edit --date "Mon 20 Aug 2018 20:19:19 KST"

commit author 변경

git commit --amend --author="yessm621 <yessm621@gmail.com>"

commit 내용 합치기

# HEAD에서 2개까지 커밋을 합침
git rebase -i HEAD~2

commit 안한 변경사항 초기화 하기

# 개별 초기화
git restore 파일명

# 모든 파일 초기화
git restore .
git checkout .

commit 취소

git reset HEAD^

unstaging

add 취소 (stage → unstage)

git reset HEAD 파일명

git restore --staged {file_name}

git checkout -- 파일명

다른 브랜치를 master로 최신화

git checkout dev
git rebase master

특정 commit 만 master에 추가

git checkout master
git cherry-pick commit명

특정 branch를 master에 merge

git checkout master
git merge branch명

history

명령어 히스토리 조회

git reflog

git commit 히스토리, commit 변경사항 확인하기

git log
# 변경된 내용까지 보여준다.
git log -p

변경사항을 임시로 저장하기

commit을 하기 부담스러울때 사용하면 좋다.

# 변경사항을 stash로 임시 저장한다.
git stash
# stash 목록을 확인한다.
git stash list

# 가장 최근의 stash를 가져온다.
git stash apply
# stash 이름을 지정해서 가져온다.
git stash apply stash@{2}

카테고리: