본문 바로가기

git

[Git] 깃 명령어 정리

사용자 등록

cd [git저장소 폴더] //로컬 사용자의 경우

git config [--global] user.name ["사용자 이름"] //global 옵션 사용시 전체 저장소에 사용자 정보 등록

git config [--global] user.email ["사용자 이메일 주소"] //global 옵션 사용시 전체 저장소에 사용자 정보 등록

 

INIT 초기화

git init [경로명]//경로가 없다면 해당 디렉토리[폴더]를 깃 저장소로 초기화 실행

 

STATUS 깃 상태 확인

파일을 생성하고 수정함으로써 변화한 파일들의 상태를 효율적으로 모니터링하기 위한 기능

git status

 

ADD 스테이지에 등록

워킹 디렉토리의 파일을 추적상태로 만드는 명령어

git add [파일 이름]

 

RM 파일 등록 취소(ADD 반대)

git rm [파일 이름]

옵션--cached 스테이지 영역에서만 등록된 파일을 제거

 

MV 등록된 파일 이름 변경

git mv [변경 전 이름] [변경 후 이름]

 

COMMIT 수정된 파일 이력 저장

git commit

옵션 설명
-a add후에 commit-m : 명령어에 commit 부가 설명[커밋 메시지] 추가함을 알리는 옵션
-m "msg" 커밋 메시지를 명령어에서 주는 옵션

 

LOG 로그 기록 확인

git log 

옵션 설명
-숫자 해당 숫자 만큼 최신 로그를 출력
--pretty=short 로그를 간단하게 출력하는 옵션
[파일 이름] 파일이름을 주면 해당 파일의 로그를 보여준다. 없다면 전체 로그 기록을 보여준다.
--graph [--all or 브랜치 이름 default = 현재 브랜치] 브랜치의 흐름을 보여준다.

 

SHOW 커밋의 상세 정보 확인

git show [커밋 ID]

 

DIFF 파일 간 차이 확인

git diff [커밋 ID or HEAD포인터]

아무런 값을 주지 않는다면 워킹 디렉토리와 스테이지 간의 차이를 보여줌

 

REMOTE 원격 저장소 연결

git remote -v //연결된 원격 저장소의 url과 별칭을 출력

git remote add [원격 저장소 별칭] [원격 저장소URL]

별칭의 디폴트 값은 origin이다.

git remote rename [변경 전] [변경 후]//별칭의 이름을 변경

git remote show 원격 저장소 별칭 // 원격 저장소의 상세 정보 출력

git remote rm 원격 저장소 별칭 //원격 저장소 연결 삭제

 

PUSH 서버에 전송

git push [원격 저장소 별칭] [브랜치 이름]

git push [원격 저장소 별칭] [브랜치 이름 :새로운 브랜치 이름]

브랜치의 커밋을 업데이트

git push [origin 원격 저장소] --delete [리모트 브랜치 이름] // 리모트 브랜치(원격 브랜치) 삭제

 

CLONE 깃 허브에서 깃 저장소 복제

git clone [원격 저장소 URL] [새폴더 이름]

 

PULL 서버에서 내려받기

자동으로 병합되는 방식

git pull

 

FETCH 서버에서 내려받기

코드를 내려받고 임시 브랜치를 생성하여 저장하며 pull 명령어와 달리 자동으로 기존의 브랜치에 병합되지 않는다.

git fetch [원격저장소url]

 

MERGE 명령어로 수동 병합

git merge 원격저장소별칭/브랜치이름

 

BRANCH 가상의 저장 공간

git branch // 브랜치 목록 출력

git branch [브랜치 이름] [커밋 ID] // 해당 커밋을 기준으로 새로운 브랜치 생성

git branch -v //브랜치 상세 정보 출력

git branch -u  [원격 브랜치 이름] //업스트림 설정

git branch -d [브랜치 이름] //브랜치 삭제

git branch -D [브랜치 이름[ //브랜치 강제 삭제

 

CHECKOUT 수정된 파일 되돌리기

git checkout -- [수정된 파일 이름] //수정 파일을 되돌리면 이전 커밋 이후에 작업한 수정 내역은 모두 삭제함

git checkout [브랜치 이름 or 커밋 ID] // 해당 브랜치 or 커밋 ID로 이동

git checkout - //이전 브랜치로 이동

git checkout -b [브랜치 이름] //새로운 브랜치를 생성하고 이동

 

STASH 임시 저장

git stash [save] ["WIP : 메시지 ~~ "] // 스테시를 생성한다. save "msg"를 추가하면 스태시를 구별하기 위한 메시지를 입력이 가능함.

git stash list // 저장된 객체들의 목록을 출력

git stash show [-p] [stash@{0}] // 스태시의 내용 비교 -p 옵션 추가시에 상세 정보 출력

git stash pop //제일 마지막에 저장된 내용을 읽어 스태시의 내용을 복구

git stash apply // pop과는 다르게 스택에 저장된 스태시를 제거하지 않고 적용만하는 명령

git stash drop //스태시 삭제

 

MERGE 병합

git merge [브랜치 이름] // 해당 브랜치와 현재 브랜치를 병합

git merge --abort // 충돌시에 병합 명령을 취소한다.

병합시에 충돌화면
충돌 발생시에 파일 내용

REBASE 재배열

git rebase [이동할 브랜치 이름] // 현재 브랜치의 커밋들을 이동하는 브랜치로 이동

git rebase --abort // 충돌시 리베이스 작업 취소

git rebase --continue // 충돌이 수정된 파일을 통해서 리베이스 작업 재개

git rebase -i [HEAD~3]// 여러 커미슬 한 커밋으로 묶기, ex) 헤드부터 3가지 커밋을 합치기

 

RESET 복귀

git reset --soft [커밋 ID] //스테이지 영역을 포함한 상태로 복원

git reset --mixed [커밋 ID] // default : 위킹 디렉터리의 저장 영역에만 복귀 전의 내용이 저장

git reset --hard [커밋 ID] // 실제 파일이 삭제된 이전 상태로 복원

git reset [파일 이름] // 헤당 파일의 수정된 내용을 스테이지에서 제거

git reset --merge [커밋 ID] // 병합 취소

 

REBERT 되돌아가기

[커밋 ID] 와 같은 내용의 커밋을 생성하여 이전 커밋으로 되돌아가는 효과를 가지는 명령어이다. reset 명령어와 다르게 입력된 커밋은 삭제되지 않는다.

git rebert [커밋 ID]

'git' 카테고리의 다른 글

[Git] 지원하는 기능은 어떤 것이 있을까? - 기초 개념  (0) 2021.10.18