Git - 깊이 알기

Chooooo·2023년 1월 23일
0

Git

목록 보기
10/15
post-thumbnail

인프런 - 제대로 파는 Git & Github - by 얄코


Snapshot

스냅샷은 Git의 강점 중 하나이다.

스냅샷은 새로운 버전이 만들어질 때, 해당 버전에서의 각 파일이 최종 상태 그대로 저장이 되어 있다.

🎈 버전5의 경우 A파일에는 변화가 없으니까 버전 4에서의 A파일을 그대로 연결해서 가져오고 변화가 있는 B파일과 C파일은 이 둘 각각의 최종 파일 내용이 그대로 저장되어 있는 것이다.

  • 스냅샷 방식은 현재 시점에서 각 파일들이 완전히 저장되어 있으니까 매우 빠르다.

분산 버전 관리

또한 Git은 분산 버전 관리 시스템이다.

🎈 모든 구성원들이 Git의 상태까지 공유하기 때문에 각자 편한대로 작업하다가 원하는 때에 프로젝트를 push와 pull을 통해 동기화하면서 협업을 해나갈 수 있다.

Git의 3가지 공간

🎃 수정사항 화살표

  • commit 되어 레포지토리에 들어간 후 수정사항이 발생하면 tracked 파일로써 스테이징을 기다리게 된다.

🎈 tracked가 된다는건, Git의 관리대상에 정식으로 등록됨을 의미한다.

  • 새로 추가되는 파일은 반드시 add해줌으로써, 해당 파일이 tracked될 것임을 명시해야 하는 이유이다 !

Working directory

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

🎈 git add 명령어로 Staging area로 이동

Staging area

  • 커밋을 위한 준비 단계
    • 예시 : 작업을 위해 선택된 파일들(add된 파일들)

🎈 git commit 명령어로 repository로 이동

Repository

.git directory 라고도 불림

  • 커밋된 상태 (커밋(버전)들이 저장되는 공간)

파일의 삭제와 이동

(이 부분은 실전에서 사용될 수도 있고 안될 수도 있음)

git rm 파일명

  • 파일의 삭제가 Staging area에 있다. (파일의 삭제가 수정사항인거지) → 커밋만 해주면 된다.
  • 사실 파일을 그냥 삭제해도 됨.
    • 파일을 그냥 삭제할 경우에는 working directory에 있다. (그렇기에 add부터 해줘야함)

git mv 파일명A 파일명B

  • 파일명A인 파일을 파일명B로 변환
  • 이것도 그냥 파일 이름을 바꿔도 돼

💚 파일을 staging area에서 working directory로 이동

  • git restore --staged 파일명
  • 소스트리에서도 쉽게 가능

git restore 파일명 : working directory에서도 제거. 즉 아무것도 수정되지 않은 상황으로 돌아가.


reset의 세 가지 옵션

git reset --soft 원하는 시점의 커밋 해시코드 : repository(커밋된 상태)에서 staging area로 이동
git reset --mixed 원하는 시점의 커밋 해시코드 : repository에서 working directory로 이동 - 이게 디폴트.
git reset --hard 원하는 시점의 해시코드 : 수정사항 완전히 삭제

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글