인프런 - 제대로 파는 Git & Github - by 얄코
스냅샷은 Git의 강점 중 하나이다.
스냅샷은 새로운 버전이 만들어질 때, 해당 버전에서의 각 파일이 최종 상태 그대로 저장이 되어 있다.
🎈 버전5의 경우 A파일에는 변화가 없으니까 버전 4에서의 A파일을 그대로 연결해서 가져오고 변화가 있는 B파일과 C파일은 이 둘 각각의 최종 파일 내용이 그대로 저장되어 있는 것이다.
또한 Git은 분산 버전 관리 시스템이다.
🎈 모든 구성원들이 Git의 상태까지 공유하기 때문에 각자 편한대로 작업하다가 원하는 때에 프로젝트를 push와 pull을 통해 동기화하면서 협업을 해나갈 수 있다.
🎃 수정사항 화살표
commit
되어 레포지토리에 들어간 후 수정사항이 발생하면 tracked
파일로써 스테이징을 기다리게 된다.🎈 tracked
가 된다는건, Git의 관리대상에 정식으로 등록됨을 의미한다.
untracked
: Add된 적 없는 파일, ignore 된 파일(.gitignore)tracked
: Add된 적 있고 변경내역이 있는 파일🎈 git add
명령어로 Staging area로 이동
🎈 git commit
명령어로 repository로 이동
.git directory
라고도 불림
(이 부분은 실전에서 사용될 수도 있고 안될 수도 있음)
❤ git rm 파일명
❤ git mv 파일명A 파일명B
💚 파일을 staging area
에서 working directory
로 이동
git restore --staged 파일명
git restore 파일명
: working directory에서도 제거. 즉 아무것도 수정되지 않은 상황으로 돌아가.
❤ git reset --soft 원하는 시점의 커밋 해시코드
: repository(커밋된 상태)에서 staging area로 이동
❤ git reset --mixed 원하는 시점의 커밋 해시코드
: repository에서 working directory로 이동 - 이게 디폴트.
❤ git reset --hard 원하는 시점의 해시코드
: 수정사항 완전히 삭제