Git 기본적인 명령어 정리

11156 단어 gitgit


Git 기본적인 명령어 정리

config

  • 전역 사용자명 & 이메일 주소 변경
    git config --global user.name <사용자 >
    git config --global user.email <이메일 주소>
  • 저장소 별 사용자명 & 이메일 주소 변경
    git config user.name <사용자 >
    git config user.email <이메일 주소>
  • 전역 설정 정보 조회
    git config --global --list
  • 저장소 별 설정 정보 조회
    git config --list

init

  • 저장소 초기화
    git init

clone

  • 원격 저장소의 코드를 내 컴퓨터에 받아옴 (새 디렉토리 생성)
    git clone <저장소 URL>
  • 마지막에 . 추가하면 현재 디렉토리에 복제
    git clone <저장소 URL> .

status

  • 현재 파일들의 상태를 보여 줌
    git status
  • untracked
    git이 file을 추적하고 있지 않은 상태
  • modified
    수정되어 있는 상태
  • unmodified
    수정되지 않은 상태
  • staged
    add 완료되어 commit될 준비가 된 상태

add

  • 스테이징 영역에 파일 하나 추가
    git add <파일 >
  • 디렉토리 내 모든 파일 & 디렉토리 스테이징 영역에 추가
    git add .
  • 작업한 모든 변경 내용 추가
    git add -A
  • 각 변경 사항을 직접 확인하면서 추가
    git add -p
  • git 대화 모드를 사용하여 추가
    git add -i

branch & checkout/switch

  • 로컬 저장소 브랜치 확인
    git branch
  • 원격 저장소 브랜치 확인
    git branch -r
  • 로컬 & 원격 모두 확인
    git branch -a
  • 로컬 저장소 브랜치 생성
    git branch <브랜치 >
  • 로컬 저장소 브랜치 전환
    git checkout <브랜치 >
  • 로컬 저장소 브랜치 생성 & 전환
    git checkout -b <브랜치 >
  • 요즘은 switch를 사용
    git switch <브랜치 >
  • switch로 로컬 저장소 브랜치 생성 & 전환
    git switch -c <브랜치 >

commit

  • 커밋하기
    git commit -m <설명>
  • 변경된 모든 파일의 변경 사항 커밋
    git commit -m <설명> -a

remote

  • 연결된 원격 저장소 확인
    git remote -v
  • 원격 저장소 연결
    git remote add <원격 저장소 > <저장소 URL>
  • 원격 저장소 연결 끊기
    git remote rm <원격 저장소 >
  • 원격 저장소 이름 변경
    git remote rename <원격 저장소 > <바꿀 이름>

push

  • add & commit 후 원하는 브랜치로 변경 후 해당 원격 저장소 브랜치에 push
    git push <원격 저장소 > <브랜치 >

pull & fetch

  • 원격 저장소에 업데이트한 파일이 있을 때 원격 저장소와 로컬 저장소의 상태를 동일하게 만듬
    git pull <원격 저장소 > <브랜치 >
  • 신규로 프로젝트 만들어서 기존 저장소와 다를 때
    git pull <원격 저장소 > <브랜치 > --allow-unrelated-histories
  • fetch는 pull과 비슷하지만 가져온 소스를 merge하지 않음 (pull은 가져오면 merge)
    git fetch <원격 저장소 >

reset & revert

  • 커밋 되돌리기
    • hard : 돌아가려는 이력 이후의 모든 내용 지움
    • soft : 돌아가지만 이후의 내용이 지워지지 않고 인덱스 그대로
    • mixed(default) : 돌아감, 내용 지워지지 않음, 인덱스 초기화
    git reset <옵션> <돌아가고싶은 커밋>
    git reset HEAD~3 (현재부터 3개 이전 이력으로)
  • 상태 되돌리기
    git revert <되돌릴 커밋1, 되돌릴 커밋2...>

merge & cherry-pick

  • 다른 브랜치를 현재 브랜치로 합치기
    git merge <브랜치 >
  • 커밋하지 않고 합치기
    git merge --no-commit <브랜치 >
  • 특정 커밋 선택하여 합치기
    git cherry-pick <커밋 >
  • 커밋하지 않고 선택하여 합치기
    git cherry-pick -n <커밋 >

log & diff

  • 커밋 이력 확인
    git log
  • 한줄로 요약
    git log --oneline
  • 현재 작업 트리와 인덱스 차이 표시
    git diff

좋은 웹페이지 즐겨찾기