Git

[Git] 명령어 정리

코딩 수달 2022. 12. 23. 18:31
728x90
반응형

최근 GitLab에 대해서 공부하면서 Git 명령어에 대해서 공부해보았다. 

 

명령어를 공부하면 할수록 내용이 많아서 직접 다양한 명령어를 사용해보면서 익숙해져야 할 것 같다. 

 

  •  GitLab 명령어 정리

- 작업 디렉토리 변경 내용의 일부만 넘기고 싶을 때 수정한 파일 or 디렉토리 경로를 넘김
$ git add [파일 디렉토리 경로]


- 현재 디렉토리 모든 변경 내용을 Staging Area 로 넘기고 싶은 경우
$ git add .


- 각 변경 사항을 터미널에서 직접 눈으로 확인하면서 넘기고 싶은 경우
$ git add -p


- git 의 현재 상태를 확인 , Staging Area, UnStage Area 에 있는 파일 및 Untracked 상태의 파일 확인이 가능
$ git status


- commit 된 파일상태와 현재 수정중인 상태 비교
$ git diff


- com mit 된 파일상태와 add 된 파일 상태 비교
$ git diff --staged


- commit 메시지 메시지명 을 붙여서 commit
$ git commit -m "[메시지명]"


- 메시지 메시지명 을 붙여서 Staging 과 commit 을 동시에 진행
$ git commit -a -m “[메시지명]"

 

- 마지막 commit 되돌리고, 수정 후 다른 commit으로 반영 (~뒤 숫자는 되돌릴 commit 개수)

$ git reset --soft HEAD~1

 

- 수정사항을 마지막 commit과 합치는 경우, 가장 최근의 commit이 수정되면서 내용이 합쳐짐

$ git commit --amend

 

- Staged 상태의 파일을 Unstage로 변경

$ git reset

 

- Staging area가 초기화되고 working tree를 특정 커밋시점으로 덮어쓰기

$ git reset --hard [commit]

 

- 파일 삭제

$ git rm [파일명]

 

- 파일/폴더명 변경

$ git mv [기존 파일명] [변경 파일명]

 

- git 저장소에서 추적하지 않는 파일들을 삭제

$ git clean

 

- branch 생성

$ git branch [브랜치명]

 

- branch 목록 조회 (*표시된 branch가 현재 branch)

$ git branch

 

- 원격 branch 목록 조회

$ git branch –r

 

- 전체 branch 목록 조회

$ git branch –a

 

- 해당 branch 선택

$ git checkout [브랜치명]

 

- branch 생성 후 해당 branch 선택

$ git checkout –b [브랜치명]

 

- 특정 branch를 현재 Checkout된 branch에 merge

$ git merge [브랜치명]

 

- branch 목록 (병합된 branch는 *표시)

$ git branch --merged

 

- 병합하지 않은 브랜치 조회

$ git branch --no-merged

 

- 특정 branch만 clone하고 싶을 때

$ git clone –b [브랜치명] –single-branch [원격 HTTPS 주소]

 

- 커밋 히스토리를 시간 순으로 조회

$ git log

 

- 최근 number개만 노출

$ git log –[number]

 

- 로그를  한줄로 약식으로 보여줌

$ git log --oneline

 

- 로그를 한줄 그래프 형식으로 보여줌

$ git log --online --graph

 

- 브랜치가 어떤 커밋을 가리키고 있는지 확인 가능함

$ git log --oneline --graph --all --decorate

 

- 로컬 저장소에 있는 것을 뺀 remote 저장소의 모든 것을 가져옴

$ git fetch [remote]

 

- remote저장소에 지워진 브랜치를 local 반영하여 local의 불필요한 브랜치를 삭제 

$ git fetch --prune

 

- remote의 commit을 가져오고 병합 (git fetch, git merge 명령을 순서대로 진행하는 것과 동일)

$ git pull

 

- 특정 branch만 pull 할 때

$ git pull origin [브랜치명]

 

- 로컬저장소의 commit 내역을 remote 저장소로 전송

$ git push [remote] [브랜치명]

 

- 현재 프로젝트에 등록된 remote 저장소 확인

$ git remote

 

- 원격 저장소 url 확인 (fetch, push 정보)

$ git remote –v

 

- git url에 remote(저장소) 이름으로 등록

$ git remote add [remote] [url]

 

- 변경된 내용 임시 저장

$ git stash

 

- 임시 저장 목록 조회

$ git stash list

 

- 임시 저장 내용 확인 (상세 내용은 뒤에 –p 붙임)

$ git stash show

 

- stash 내용 가져오고 리스트에 유지

$ git stash apply

 

- stash 내용 꺼내오고 리스트에서 제거  

$ git stash pop

 

- 최근에 저장한 stash 삭제

$ git stash drop

 

- 임시 저장 내역 전체 삭제

$ git stash clear

 

- 모든 태그 조회

$ git tag

 

- 원격저장소에 있는 태그 조회

$ git ls-remote --tags

 

- 태그 종류

Lightweight : 단순히 버전 같은 태그 이름만 남김

Annotated : 태그 만든 사람의 이름, 이메일, 태깅 날짜, 메시지까지 저장

 

- Lightweight 태그 생성

$ git tag [태그명]

 

- Annotated 태그 생성

$ git tag –a [태그명] –m “[메시지]”

 

- 로컬저장소 태그 삭제

$ git tag –d [태그명]

 

- 로컬저장소 내 전체 태그 삭제

$ git tag –d $(git tag –l)

 

- 원격저장소 태그 삭제

$ git push --delete [remote] [태그명]

 

- 원격저장소 내 전체 태그 삭제

$ git push [remote] --delete $(git tag –l)

 

- 태그를 원격저장소에 push하기

$ git push [remote] [태그명]

 

- 모든 태그를 한번에 push하기

$ git push origin --tags

728x90
반응형