깃은 델타 방식과 스냅샷 방식이 있습니다.
버전 1에서 3개의 파일이 만들어 졌고,
수정사항이 생겨납니다.
델타 방식에서는 변경점들이 저장되는 방식입니다.
commit 변경사항이 많은 경우 최초 코드로 부터
계속해서 변경사항을 찾아나가며 현재의 코드를 만들어 나가기 때문에
프로젝트와 commit변경사항이 많을 수록 속도가 느려집니다.
새로운 버전이 만들어질때 해당 버전의 각 버전이 최종 상태 그대로 저장하는 방식입니다.
변경된 사항들이 최종 상태 그대로 계속해서 저장되기 때문에 많은 commit 변경사항들이 많더라도
빠른 속도를 유지할 수 있습니다.
중앙 관리 되는 장소에 모든 관리 내용들이 저장됩니다.
로컬에는 중앙에서 현 버전으로 다운받은 파일들로만 작업이 가능합니다.
원격 저장소에 의존적이 됩니다.
인터넷이 제한될 경우 로컬 작업에 영향을 받습니다.
git clone을 통해서 로컬에 받아오면
전체 Git commit과 브랜치들까지 받아올 수 있기 때문에
인터넷 연결상태와 관계없이 로컬에서 작업이 가능합니다.
모든 구성원들이 git의 상태까지 공유하기 때문에
각제 편한 상태로 작업하다가 pull과 push를 통해 자유로운 작업이 가능합니다.
git .
명령어를 통해서 파일들이 Stagint Area에 진입하게 됩니다.git rm
관리하고 있는 파일을 삭제합니다.
git mv "변경전 파일 이름" "변경 후 파일 이름"
관리되고 있는 파일 이름을 변경합니다
git restore --staged "파일명"
--staged
를 빼면 working directory에서도 제거됩니다.(변화한 코드 자체를 되돌립니다)git reset HEAD
명령어로 사용했습니다.git reset --mixed
기본값 입니다.
repository에서 working directory로 이동합니다.
(commit과 add를 하기 전입니다.)
git reset --soft
수정사항을 repository에서 staging area로 이동합니다.
(commit 하기 전으로 되돏립니다.)
git reset --hard
수정사항을 완전히 삭제합니다.