1. git 복습

하나의 commit은 하나의 타임캡슐
이 타임캡슐을 code의 시간과 공간의 개념으로 생각

git log : 주로 commit 로그를 보거나 reset/revert하기 위해 해쉬를 확인할 때

1) git으로 시간 조작하는건
reset과 revert가 잇는데 reset은 해당 시점으로 돌아가면서 history도 모두 지우기 때문에 협업상황에선 하면 안됨
기본적으로 revert 한다고 생각하기
revert는 해당 내용만 되돌리고 다른건 그대로
revert로 되돌리는 단위는 한개의 커밋(추가된 부분은 삭제하고, 삭제된 부분은 추가하는 식으로 하나의 커밋을 새로 만듬)

2) git으로 공간 조작하는건
branch만들고 switch로 왓다갔다하면서 작업하고
다 하고나면 합쳐야하는데 합치는 방법은
merge와 rebase 두가지가 있음
여기서 rebase는 여러사람이 작업할땐 적합하지 않다고 함
그러니 기본적으로 merge를 쓰게될 듯
merge는 두 브랜치를 한 커밋에 이어 붙임(두개의 가지가 하나로 이어짐)
그렇다보니 브랜치가 사용되었던 흔적이 남으니까 내역을 남기려면 merge 사용
그냥 항상 merge 쓴다고 생각해도 될거 같은데
rebase는 브랜치를 잘라서 이어붙임(브랜치의 흔적을 남기지 않고 한줄로 만듬)