: git 프로젝트에 담겨있는 데이터들은 파일 시스템 상의 스냅샷(SnapShot)으로 볼수 있다.
특정 시간에 데이터 저장 장치의 상태를 별도의 파일이나 이미지로 저장하는 기술
이를 이용해 데이터를 저장하면 유실된 데이터 복원과 일정 시점의 상태로 데이터를 복원할 수 있다.
: 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 바로 '브랜치(Branch)' 입니다.
( 각자 독립적인 작업 영역(저장소) 를 만드는 것. )
$ git diff <브랜치이름><다른 브랜치이름>
: 변경 내용과 merge 전에 바뀐 내용을 비교할 수 있음
$ git checkout -b <브랜치이름>
: 브랜치 생성 & 이동
$ git reset / $ git revert
: 둘다 이전 commit 단계로 되돌리는 명령어
(다른 사람간의 코드 공유의 유(revert)무(reset)에 따라서 달라짐)
origin에 올리지 않고 로컬에 커밋이 머물러있거나 올라갔어도 나만 해당 브랜치를 사용한다면 reset 사용가능
revert는 reset과 다르게 커밋을 삭제하는 것이 아닌 커밋을 추가합니다.
: Project를 진행하는 인원 만큼 각각의 Branch를 생성하여 관리.
: 무작정 브랜치를 늘려버리면 commit 관계가 복잡해져 나중에는 누가 commit 한지 알 수 없게 된다는 문제점이 있다.
: git을 관리하기 위한 전략 중 하나
https://choseongho93.tistory.com/189
https://www.youtube.com/watch?v=66c9QBXM2Fs&t=106s
https://kyounghwan01.github.io/blog/etc/git/git-reset-revert/#revert
https://bonjourpark.tistory.com/12