기타 개발 관련

Git 명령어 총 정리

개발자 케빈 2021. 7. 20. 23:32

1. 설정

git config --global user.name "your name"

; 전역 사용자 명 설정

 

git config --global user.email "your emaill"

; 전역 사용자 이메일 설정

 

--global을 제거해주면 저장소 별 사용자명/ 이메일 설정

 

git config --global --list

; 전역 설정 정보 확인

 

--global 제거 -> 저장소 별 정보 확인

 

 

2. 기본 명령어

 

git status

; 파일 상태 확인하기(아래 그림 참고)

 

git add <파일>

; 해당 파일을 staging area에 올린다.

 

git commit -m "<메세지>"

; 스테이징 영역에 올라간 파일들을 Unmodified 상태로 변경

 

 

<참고 이미지>

 

사진 설명

;

1. 워킹 디렉토리는 크게 Untracked와 Tracked 두 상태로 나뉨

 1-1 Untracked 상태 : git이 신경쓰지 않아도 되는 상태

 1-2 Tracked : git이 파일을 추적하는 상태

 

2. Tracked는 또다시 크게 세가지의 상태로 나뉨(Unmodified, Modified, Staged)

 2-1 Staged : staging area에 있는 파일들의 상태

 2-2 Unmodified : staging area에 있는 파일들을 커밋한 상태.

 2-3 Modified : Unmodified 상태의 파일들을 수정한 상태

 

Modified 상태의 파일들을 다시 git add 명령어를 통하여 staging area 에 올린 후 commit을 통하여 Unmodified 상태로 변경해주는 방식으로 반복.

 

 

 

git checkout HEAD <파일>

; 작업 트리의 변경사항 돌려놓기

 

git reset HEAD

; 커밋되지 않고 스테이징 된 변경 사항 재설정(즉 staged의 상태에 있는 파일 재설정)

 

git commit -m "<메세지>" --amend

; 마지막 커밋 고치기

 

git commit -C HEAD --amend

; 이전 커밋을 수정 후 커밋 메세지 재사용

 

3. 브랜치

 

git branch

; 지역 브랜치 목록 보기

 

git branch -r

; 원격 브랜치 목록 보기

 

git branch -a

; 모든 브랜치 목록(지역 + 원격)

 

git checkout <브랜치>

; 다른 브랜치로 변경(다른 브랜치를 향하도록)

 

git checkout --track <remote/branch>

; 원격 브랜치를 추적하는 새로운 브랜치 만들기

 

git merge <브랜치>

; 다른 브랜치를 현재 브랜치로 합치기

 

git merge --no-commit <브랜치>

; 커밋하지 않고 합치기

 

git cherry-pick <커밋명>

; 선택하여 합치기

 

git cherry-pick -n <커밋명>

; 커밋하지 않고 선택하여 합치기

 

git merge --squash <브랜치>

; 브랜치의 이력을 다른 브랜치에 합치기

 

 

git fetch

; origin 저장소에서 합치지 않고 지역 브랜치로 변경사항 가져오기

 

git fetch <원격 저장소>

; 원격 저장소에서 합치지 않고 지역 브랜치로 변경 사항 가져오기

 

git pull <원격 저장소>

; 원격 저장소에서 변경사항을 가져와 현재 브랜치에 합치기

 

git pull

; origin 저장소에서 변경사항을 가져와 현재 브랜치에 합치기

 

git push <원격 저장소> <지역 브랜치>:<원격 브랜치>

; 지역 브랜치를 원격 브랜치에 푸싱

 

git push <원격 저장소> <지역 브랜치>

; 지역 브랜치를 동일한 이름의 원격 브랜치에 푸싱하기