[Git] Git 관련 명령어 모음

JJoSuk·2023년 5월 31일
0

Git 사용할 때 들어가는 초기 설정

초기화하는 용도로 쓰지만, 안전하게 빈 저장소로 만들어 사용하는 용도로 초기 세팅

$ git init

Git 환경에서 사용자 이름을 지정

git config --global user.name "[사용자명]"

Git 환경에서 사용자 이메일을 지정

git config --global user.email "[사용자이메일]"

Git 파일 등록

스테이지에 전부 등록

git add .

스테이지에 파일 따로 등록

git add [파일명.확장자명]

올린 상태 확인

git status

올린 파일 취소

git restore —staged [파일명]

올린 파일 전체 취소

git reset HEAD

Git 커밋

커밋 메시지를 붙여 커밋하기

git commit -m [커밋 메시지]

올린 순서대로 커밋 취소

현재 HEAD의 이전 커밋으로 되돌리기

git reset HEAD^

현재로 부터 n 번째 이전 커밋으로 되돌리기

git reset HEAD~n

커밋 롤백하기

git reset [커밋]

최신 커밋 수정

git commit —amend

git 이력 조회

전체 이력 조회

git log

커밋과 커밋 메시지 조회

git log --oneline

변경된 이력 조회

git log -p
git log -p [파일명]

각 커밋 파일의 추가/삭제된 데이터 조회

git log —stat

modified 상태의 file과 마지막 commit 비교

git diff

원격 저장

원격 저장소 연결

git remote add origin [github 레포지토리 주소 복사]

remote 옵션 종류 조회

git remote —help

원격 저장한 목록 확인

git remote

원격 저장 목록 전부 조회

git remote -v

원격저장소 이름 변경

git remote rename [기존이름] [변경이름]

저장한 원격저장소 제거

git remote rm [이름]

github 처음 등록

git push -u origin master

github 업로드

git push
git push origin master

github 에서 가져오기

git pull origin master

github 복제

git clone [github 주소]

github 삭제/끊기

git remote remove origin

로컬/원격 저장소 파일 삭제

로컬/원격 저장소 전부 파일 삭제

git rm [파일명]

github 파일만 삭제

git rm —cached [파일명]

branch

브랜치 확인

git branch  

브랜치 추가 / 삭제

git branch [branch name]  
git branch -d [branch name] # -delete

브랜치로 이동

git switch [branch name]
git checkout [branch name]

브랜치 추가하고 바로 이동

git switch -c [branch name]
git checkout -b [branch name]

현재 브랜치에서 다른 브랜치를 merge

git merge [branch name]

cherry-pick

만일 내가 X 브랜치에 있고

브랜치 Y의 커밋 중 76ae30ef와 13af32cc만 골라 현재 브랜치인 X에 적용하고 싶을때

git cherry-pick 76ae30ef 13af32cc

stash

staged, modified 상태의 파일을 저장

git stash   

stash로 저장한 리스트를 출력

git stash list 

가장 최근에 저장한 stash를 반영

git stash apply      

지정한 stash를 반영

git stash apply stash@{1}

지정한 stash를 삭제

git stash drop stash@{1}

stash를 반영하고 자동 삭제

git stash pop

tag

  • light weight 태그 : 단순 커밋 태그용. 커밋을 바로 가리킴
  • annotated 태그 : 태그 메세지도 첨부할수 있어 자체 해시값을 가짐. ^{}이 커밋을 가리킴

태그 추가

git tag [태그이름]

특정 해쉬에 태그 추가

git tag [태그이름] [커밋번호]

특정 해쉬에 annotated 태그 추가

git tag -a [태그이름] [커밋번호]

태그 조회

git tag

와일드카드 패턴으로 검색조회

git tag -l 'v1.*'

특정 태그 조회

git show [태그이름]

해쉬값과 태그 조회

git show-ref --tags


blame

  • git 프로젝트에서 어떤 코드를 누가 수정했는지, 어떤 commit으로 수정이 되었는지 궁금할 때

해당 파일에 대한 모든 수정 내역

git blame <파일명>

author name과 timestamp는 출력하지 않음.

git blame -s <파일명>

description과 수정사항을 보여줌

git show <커밋번호>

파일내용을 start부터 end 라인까지의 수정 내역만 보여줌

git blame -L <start,end> <파일명>

관련 출처 : 인파_님의 Git 명령어 모음

profile
안녕하세요

0개의 댓글