본문 바로가기
깃,깃허브

🐙제대로 파는 Git & GitHub 🐈 - 5. Git을 더 특별하게 만드는 것

by 정람지 2024. 2. 2.

🐙Snapshot

용량이 큰 프로젝트를 다룰 떄 더 빠르게 처리가 가능함


🐙분산 버전 관리

중앙집중식 : 원격중심( 로컬에서 할 수 있는 것이 제한적임

분산 버전 관리 : (전체 깃 커밋 / 브랜치, 등) 모든 구성원들의 깃 상태를 로컬에서 관리 가능

 

+ vcs : version Control System : 파일의 변화를 추적하고 관리하는 시스템


🐙 깃의 3가지 공간 

출처 : 얄코의 제대로 파는 Git & GitHub

Working directory

  • untracked: Add된 적 없는 파일, ignore 된 파일
  • tracked: Add된 적 있고 변경 내역이 있는 파일

git add 명령어

Staging area

  • 커밋을 위한 준비 단계

git commit 명령어

Repository

  • 커밋된 상태

git rm

=>  git rm = rm + git add

파일 삭제 및 add

git mv

=>  git mv = mv + git add

파일 rename 및 add

 

 

git restore --staged  ( 파일명 )

파일을 staging area에서 working directory로

 

 

 

( 지금 커밋에 포함시키고 싶지 않은 문서 삭제)

 

 

reset의 세 가지 옵션

  • --soft: repository에서 staging area로 이동
  • --mixed (default): repository에서 working directory로 이동
  • --hard: 수정사항 완전히 삭제

🐙 HEAD

출처 : 얄코의 제대로 파는 Git & GitHub

 

Git의 HEAD

현재 속한 브랜치의 가장 최신 커밋

 

switch : 브랜치 이동

 

checkout : 앞뒤 이동

git checkout HEAD^ :  ^ 또는 ~:  갯수만큼 이전으로 이동

 

+ ⭐️ 커밋 해시를 사용해서도 이동 가능 (git checkout (커밋해시))

+ git checkout - : (이동을) 한 단계 되돌리기 

 

 

 HEAD 사용하여 reset하기

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


🐙 fetch vs pull

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

 

fetch한 내역 적용 전 살펴보기

- 원격의 main 브랜치에 커밋 추가
* git checkout origin/main으로 확인

 

- 원격의 변경사항 fetch
* git checkout origin/main으로 확인
* pull로 적용

 

 

원격의 새 브랜치 확인

  • git checkout origin/(브랜치명)
  • git switch -t origin/(브랜치명)