파일을 stage에 올린다.
커밋 이력을 보여준다.

원격 저장소의 커밋을 최신으로 업데이트 하려면 아래 명령어를 사용한다.
현재 시점으로 HEAD를 다시 옮기려면 git checkout main 명령어를 사용한다.
HEAD를 이동시켜 아무 원하는 커밋 지점에서 브랜치를 만들 수 있다.
해당 커밋을 삭제한다.
커밋을 삭제하면 로컬 저장소에선 삭제되었지만 원격 저장소에선 아직 그 커밋이 남아있다. 따라서 이 상태로 원격 저장소에 push 하게 되면 충돌이 발생한다. 로컬 저장소에서 해당 커밋이 사라짐으로써 원격 저장소와 커밋 히스토리가 불일치 하기 때문이다.
따라서 git push origin 브랜치명 --force 명령어를 사용한다. 히스토리를 무시하고 현재 변경 사항을 강제로 덮어씌운다고 생각하면 된다. 만약 삭제한 커밋을 되돌리고 싶으면 원격 저장소에서 커밋을 다시 가져오면 된다. git pull origin 브랜치명 입력
git reset HEAD~
옵션을 적지 않으면 mixed reset이라고 부른다.
mixed reset은 커밋 삭제 후 그 커밋의 변경 이력들은 유지한 채 unstage 영역으로 옮겨준다.
git reset --soft HEAD~
stage 영역으로 옮겨준다는 것 이외에 mixed와 동일하다.
해당 커밋 전의 변경내역으로 되돌아간다.
reset 과 revert 둘 다 과거로 되돌아간다는 점에선 같다.
하지만 reset은 커밋을 삭제하고, revert는 커밋을 삭제하지 않는다.
따라서 원격 저장소에 이미 올라간 커밋이라면 되도록이면 reset을 쓰지말고 (나 혼자 쓰는 브랜치면 상관없다. 하지만 동료와 같이 쓰는 브랜치라면 고친 이력이 남는 revert가 낫지 않을까) revert로 내역을 되돌린 뒤 되돌린 상태의 새로운 커밋을 push하자.
Fork한 저장소와 원본 저장소 동기화
https://dev-yakuza.posstree.com/ko/git/sync-fork-repository/