이번 포스팅에서는 깃과 깃허브에 대해 배운 내용을 정리하고자 한다.
특정 커밋으로 이동하고 그 이후에 있었던 커밋들을 전부 지우는 기능이다.
특정 커밋으로 이력을 변경하기 위해 특정 커밋 이후에 있었던 모든 변경사항을 제거한 새로운 커밋을 생성하는 기능이다. Revert는 히스토리는 유지한채 변경 사항을 제거한 새로운 커밋을 생성한다.
머지는 두 브랜치의 히스토리를 보존하면서 변경된 내용을 새로운 커밋으로 합치는 기능이다. 이 새로운 커밋에는 두 브랜치의 변경사항이 모두 포함된다.
히스토리가 복잡해질 수 있다는 단점이 있다.
리베이스는 두 브랜치를 합칠 때 새로운 커밋을 생성하지 않고 하나의 브런치처럼 보이도록 재정렬하는 기능이다. 즉 리베이스를 하면 히스토리가 보존되지 않고 하나의 히스토리처럼 보이게 된다.
리베이스를 하면 충돌이 발생할 가능성이 높다.
로컬에서 커밋한 사항들을 깃허브에 보내서 업데이트를 하는 기능이다.
원격 저장소에 코드 변경 사항을 로컬 저장소에 가져오는 기능이다. fetch로 가져온 변경사항은 로컬 저장소에서 병합되지 않고, 단순히 로컬 저장소에 저장된다.
이를 통해 변경 사항을 병합하기 전에 검토할 수 있다.
fetch와 merge를 합한 기능이다. 원격의 변경 사항을 로컬로 가져오고 바로 병합한다.