GIT

GIT 명령어 정리

jny0 2023. 2. 23. 20:26

로컬저장소(로컬 리포지터리) : 내 PC에서 관리하는 git 저장소

원격저장소(원격 리포지터리) : 로컬 저장소를 업로드하는 곳 (GitHub)

작업폴더(디렉터리) : 현재 작업하고 있는 폴더

Staging Area : 작업 폴더에서 변경 내용을 기록하는 곳 (commit 전에 올려두는 공간) commit하면 git 저장소로 내용 저장

 

화살표 ↑ ↓ : 사용한 명령어 다시 사용

 

GIT 초기 설정

  • git config --global init.defaultBranch main
  • git config --global user.name "본인 깃허브 ID"
  • git config --global user.email 깃허브 가입시 사용한 이메일

로컬 저장소 생성, 삭제

  • git init 로컬 리포지터리 생성. 현재 디렉토리를 working director로 설정하고 .git을 만들어줌
  • rm -rf .git 로컬 리포지터리 삭제. git.init부터 다시 진행해야한다.


파일 생성 삭제

  • git touch 파일명 : 파일 생성
  • rm 파일명 : 파일 삭제

 

작업 폴더에서 stage에 올려두기 - add

  • git add . : 모든 파일 올림
  • git add 파일1, 파일2 : 지정한 파일 올림

 

stage에 올라온 파일 원격저장소로 커밋하기 - commit

  • git commit -m "커밋메시지" : 어떤 변경사항이 있는지 확인하기 위한 메시지 기록
  • git log : 저장소에 저장된 버전을 확인
  • git commit -am "커밋메시지" : stage에 올리고 커밋하는 과정을 한번에 처리 (이전에 커밋한 적이 있는 파일을 다시 커밋할 때만 사용) / 스테이징 옵션(-a), 메시지 옵션(-m)
  • git commit --amend : 직전에 커밋한 메시지 수정

commit 내용 확인

  • git log : 현재까지 커밋했던 기록 확인
  • git log --stat : 커밋에 관련된 파일 확인
  • git log --online : 한 줄로 보기
  • git log --oneline -n 2 : 최근 2개의 로그만 한 줄로 보기
  • git diff : 변경사항 확인
  • log가 너무 많으면 종료되지 않는 현상 : q키를 눌러서 종료하기

파일의 상태 확인 - staus

  • git status : 커밋된 파일& 스테이지에 있는 파일 = tracked / 그 외 = untracked

로컬저장소에 원격저장소를 연결

  • git remote add origin 깃허브 리포지터리 주소 : 원격 저장소에 연결
  • git remote -v : 원격 저장소 연결 여부 확인
  • git remote remeve origin : origin을 삭제 (git remote add origin부터 다시 시작해야함)

원격저장소에 파일 올리기 - push

  • git push origin main : git push <원격 저장소 이름> <브랜치 이름> 의 형태

원격저장소에 파일 올리기 - pull

  • git pull origin main : git pull <원격 저장소 이름> <브랜치 이름> 의 형태

원격 저장소 복제하기

  • git clone <원격 저장소 주소> <작업할 디렉터리> 원격 저장소를 로컬에 받을 수 있음

작업 되돌리기

스테이지에 올렸던 파일을 내리거나 커밋을 취소하는 등의 각 단계로 돌아가는 방법

  • ^ : 가장 최근
  • ~n : 최근 n개
  • git checkout : 작업 폴더에서 수정한 파일 되돌리기
  • git reset HEAD 파일이름 : 스테이징 되돌리기 (HEAD 다음에 파일이름을 지정하지 않으면 스테이지에 있는 모든 파일을 되돌린다.)
  • git reset HEAD^: 최신 커밋 되돌리기, 취소한 파일은 작업 폴더에만 남는다.
  • git reset HEAD~n : 최근 n개의 커밋을 취소
  • git --soft HEAD^ : 최근 커밋을 하기 전 상태로 작업 폴더를 되돌림
  • git --mixed HEAD^ : 최근 커밋과 스테이징을 하기 전 상태로 작업 폴더를 되돌림
  • git --hard HEAD^ : 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 폴더를 되돌림
  • git reset 커밋해시 : 특정 커밋으로 되돌리기 (특정 커밋 이후에 만들어진 커밋을 삭제하고 특정 커밋으로 이동)
  • git revert 커밋해시 : 커밋 삭제하지 않고 되돌리기

 

VIM에서 나가는 방법

  • ESC or Ctrl+C
  • :wq!
    • 취소하려면 그냥 q!
  • 엔터