Git
Chapters ▾ 2nd Edition

A3.11 Appendix C: Git 명령어 - 관리

관리

관리자는 Git 저장소에 문제가 생기면 해결해야 한다. Git은 이때 필요한 명령어도 제공한다.

git gc

`git gc`는 저장소에 필요없는 파일을 삭제하고 남은 파일을 압축하는 “Garbage Collection” 명령이다.

직접 실행시켜도 되지만 Git이 자동으로 실행해준다. 자세한 설명은 운영에서 한다.

git fsck

`git fsck`는 Git 데이터베이스에 문제가 없는지 검사해준다.

데이터 복구에서 Dangling 개체를 찾는 법을 설명한다.

git reflog

git reflog 명령은 HEAD가 가리켰던 커밋의 로그를 보여준다. 히스토리를 재작성해서 잃어버린 커밋을 찾을 때 유용하다.

RefLog로 가리키기에서 이 명령을 설명한다. git log 명령에 -g 옵션을 주면 git log 명령의 결과처럼 Reflog를 출력한다.

잃어버린 브랜치를 복구하는 법은 데이터 복구에서도 설명한다.

git filter-branch

git filter-branch 명령은 커밋 뭉치를 수정하는 데 사용한다. 전체 히스토리에서 파일을 삭제하거나 디렉토리 구조를 변경하는 데 사용한다.

모든 커밋에서 파일을 제거하기에서 --commit-filter, --subdirectory-filter, --tree-filter 같은 옵션 사용법을 설명한다.

Git-p4, TFS에서는 다른 버전 관리 시스템에서 가져온 데이터베이스를 바로 잡는 데 사용한다.