관리 메뉴

hhnn_soph

[Git] Git 커멘드(명령어) 본문

Git

[Git] Git 커멘드(명령어)

hhnn_soph 2021. 11. 24. 16:24

Git에서 유용하게 사용하는 커멘드들을 이 게시글에 모아서 정리하려고 한다. 

 

  • mkdir [폴더명] : 폴더생성
  • touch [파일명.확장자] : 파일생성
  • cd [폴더명] : 해당 폴더로 이동
  • cd .. : 이전 폴더로 이동
  • ls : 현재 폴더에 있는 파일 및 하위 폴더 확인
  • ls -al : 현재 폴더에 있는 숨겨진 파일 및 세부 정보를 포함한 모든 파일과 하위 폴더 확인
  • bash --version : bash 버전 확인

 

  • git init : 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(working directory)로 설정하고 그 안에 레포지토리(.git 디렉토리) 생성
  • git config user.name '[이름]' : 현재 사용자의 아이디를 설정(커밋할 때 필요한 정보)
  • git config user.email '[이메일]' : 현재 사용자의 이메일 주소를 설정(커밋할 때 필요한 정보)

⭐ config --global 옵션: 해당 시스템에서 항상 해당 정보를 사용한다.

만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 위처럼 --global 옵션을 빼고 명령을 실행하자.

 

  • git add [파일 이름] : 수정사항이 있는 특정 파일을 staging area에 올리기
  • git add [디렉토리명] : 해당 디렉토리 내에서 수정사항이 있는 모든 파일들을 staging area에 올리기 
  • git add . : working directory 내의 수정사항이 있는 모든 파일들을 staging area에 올리기
  • git reset [파일 이름] : staging area에 올렸던 파일 다시 내리기
  • git status : Git이 현재 인식하고 있는 프로젝트 관련 내용들 출력(문제 상황이 발생했을 때 현재 상태를 파악하기 위해 활용) 
  • git commit -m "[커밋 메시지]" : 현재 staging area에 있는 것들 커밋으로 남기기
  • git help [커맨드 이름] : 사용법이 궁금한 Git 커맨드의 공식 메뉴얼 페이지 이동

 

  • git push -u origin master : 로컬 레포지토리의 내용을 처음으로 리모트 레포지토리에 올릴 때 사용
  • git push : 로컬 레포지토리의 내용을 리모트 레포지토리에 보내기 
  • git pull : 리모트 레포지토리의 내용을 로컬 레포지토리로 가져오기
  • git clone [프로젝트 GitHub 주소] : GitHub에 있는 프로젝트를 내 컴퓨터로 가져오기

 

  • git log : 커밋 히스토리를 출력
  • git log --pretty=oneline : 커밋 하나당 한 줄씩 출력(--pretty 옵션을 사용하면 커밋 히스토리를 다양한 방식으로 출력 가능) 
  • git show [커밋 아이디] : 특정 커밋에서 어떤 변경사항이 있었는지 확인
  • git commit --amend : 최신 커밋을 다시 수정해서 새로운 커밋으로 만듦
  • git config alias.[별명] [커맨드] : 길이가 긴 커맨드에 별명을 붙여서 이후로 별명으로 해당 커맨드를 실행할 수 있도록 설정
  • git diff [커밋 A의 아이디] [커밋 B의 아이디] : 두 커밋 간의 차이 비교
  • git reset [옵션] [커밋 아이디] : 옵션에 따라 하는 작업이 달라짐(옵션을 생략하면 --mixed 옵션 적용) 

     (1) --soft : HEAD가 특정 커밋을 가리키도록 이동시킴

     (2) --mixed : staging area도 특정 커밋처럼 리셋

     (3) --hard : working directory도 특정 커밋처럼 리셋

     이때 커밋 아이디 대신 HEAD의 위치를 기준으로 한 표기법(예 : HEAD^, HEAD~3) 사용 가능

 

  • git tag [태그 이름] [커밋 아이디] : 특정 커밋에 태그를 붙임
  • git rm [파일명] : 원격 저장소와 로컬 저장소에 있는 파일을 삭제
  • git rm --cached [파일명] : 원격 저장소에 있는 파일을 삭제하지만 로컬 저장소에 있는 파일은 삭제하지 않음