Git 기능 정리 기초버전


Git CLI 환경에서 사용되는 명령어들을 정리하려고 합니다.


1.주요 CLI 명령어 정리

(git bash에서 내용 일부 입력 후, tab 누르면 자동 생성 가능)

  • git help <명령어> : 해당 명령어의 도움말 표시

  • pwd : 현재 폴더 위치 확인

  • ls -a : 현재 폴더 파일 목록 확인(-a 옵션은 숨김 파일도 보여줌)

  • cd <폴더이름> : 아무것도 안 적으면 홈 폴더(내 문서 상위 폴더), 적으면 특정 위치 디렉토리 이동

  • cd ../ : 현재 폴더의 상위 폴더 이동

  • mkdir <새폴더이름> : 현재 폴더 아래에 새로운 폴더 생성


  • git status -s : git 워킹트리(저장소) 상태 알려주는 명령어 (-s 쓰면 요약버전 보여줌)

  • git init : 현재 폴더에 git 저장소 생성. (현재 폴더에 [.git]이라는 숨김 폴더(로컬 저장소) 생성.)

  • git config : git 옵션 설정해주는 명령어

(system : pc 전체, global : 현재 사용자, local : 현재 git 저장소)

--list : 현재 프로젝트의 모든 

--global(or local) <옵션명> <새로운 값> : 지정한 전역(지역) 옵션 내용 살펴보기 (새로운 값 추가 입력시, 새로 설정)

--global --unset <옵션명> : 지정한 전역(지역) 옵션 삭제

--system <옵션명> <값> : 지정한 시스템 옵션 내용 보기 (값 추가 입력시, 새로 설정)

--system --unset <옵션명> <값> : 지정한 시스템 옵션의 값 삭제

+ git config --local credential.helper : 자격 증명 관리 (or global or system도 가능) 


  • git add 파일1 파일2 : 파일들을 스테이지에 추가

  • git commit -a : 파일 commit (-a 추가하면 add 명령 생략하고 바로 commit, untracked 파일은 commit x)

  • git merge 브랜치이름 : 지정한 브랜치의 commit들을 현재 브랜치 및 워킹트리에 반영.

  • git reset [파일명] : 스테이지 영역에 있는 파일들 스테이지에서 내리기(언스테이징).

워킹트리의 내용 변경x. (옵션 생략 시, 스테이지 모든 변경사항 초기화)


  • git log -n5: 현재 브랜치의 커밋 이력 보기 (n + 숫자 입력시 최신 커밋 숫자 갯수만큼 보기)

ex) git log –online –graph –decorate –all :

--online : 한 줄로 요약해서 보기, --graph : 브랜치 흐름을 그래프로 보기

--decorate : 브랜치와 태그 등의 참조를 간결하게 표시, -all : 생략 시, HEAD와 관련없는 옵션 생략

(HEAD는 항상 현재 작업중인 브랜치 혹은 커밋을 가르킴.)


2.원격저장소 관련 CLI 명령어

  • git remote add <원격저장소이름> <원격저장소주소> : 원격 저장소 등록

여러 개 등록 가능하지만, 같은 별명은 하나만 가질 수 있음.

(-v 옵션 사용시 원격 저장소 목록 살펴보기)

git remote add origin (링크) : origin이라는 별칭으로 해당 url 등록


  • git push [-u] [원격저장소별명] [브랜치이름] : 현재 브랜치에서 새로 생성한 commit들 원격 저장소에 업로드.

(-u 옵션으로 브랜치의 업스트림 등록. 한 번 등록 후에는 git push만 해도 됨.)

git push origin main (main 브랜치의 변경사항을 origin에 업로드)

git push -u origin main (현재 브랜치를 origin/main의 업스트림 브랜치로 등록, 변경 사항 업로드)


  • git pull : 원격 저장소 변경 사항을 워킹트리에 반영. (git fetch + git merge)

  • git clone <저장소주소> [새로운 폴더명] : 저장소 주소에서 프로젝트 복제해옴.

(폴더명 생략시, 프로젝트 이름과 같은 이름의 폴더가 새로 생성)