포스트

Git 보다 깊이 알기

Git 보다 깊이 알기

Git의 3가지 공간

Working Directory

  • untracked: add된 적 없는 파일, ignore 된 파일
  • tracked: add된 적 있고 변경 내역이 있는 파일
  • git add 명령어로 Staging area로 이동

Staging area

  • 커밋을 준비하는 단계
  • git commit 명령어로 repository로 이동

Repository

  • .git directory라고도 불림
  • 커밋된 상태

파일의 삭제와 이동

삭제

1
git rm file_name

파일은 남기고 스테이징 영역에서만 삭제

  • 이미 관리중인 파일을 .gitignore에 올리고 제외하고 싶을 때 사용
1
git rm --cached file_name

이동

1
git mv file_name new_file_name

Staging area에서 Working directory로 이동

1
git restore --staged file_name

reset 세 가지 옵션

  • --soft: repository에서 staging area로 이동
  • --mixed: repository에서 working directory로 이동
  • --hard: 수정 사항 완전히 삭제
  • 현재 속한 브랜치의 가장 최신 커밋

checkout으로 커밋 이동

1
git checkout HEAD^
  • ^ 또는 ~: 갯수만큼 이전으로 이동
    • git checkout HEAD^^^, git checkout HEAD~3
  • git checkout (커밋해시): 해당 커밋으로 이동
  • git checkout -: 한 단계 앞으로 이동

HEAD 사용하여 reset 하기

1
git reset HEAD(원하는 단계) (옵션)

현재 커밋에서 reset 하기

1
git reset HEAD (옵션)

fetch vs pull

  • fetch: 원격 저장소의 최신 커밋을 로컬로 가져오기만 함
  • pull: 원격 저장소의 최신 커밋을 로컬로 가져와 merge 또는 rebase

참고

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.