파일의 각 코드 라인별로 커밋 히스토리를 확인하여 작성자를 알아낼 수 있다.
git blame tiger.yml
git blame -L (시작라인),(끝라인 또는 +라인수) (파일명)
-L : 특정 라인만 확인할 수도 있다.
이진 탐색 알고리즘으로 문제의 발생 지점을 찾는다.
git bisect start
git bisect bad/good
git bisect reset
start : 이진 탐색 시작
bad/good : 해당 지점의 오류 유무를 표시
reset : 이진 탐색 종료
커밋 전, 푸시 후 등의 다양한 이벤트마다 자동으로 실행될 스크립트를 지정한다.
스크립트 파일들은 .git의 hooks 폴더에 존재한다.
훅을 해제하려면 해당 스크립트 파일을 제거하면 된다.
gitmoji-cli 설치 후 프로젝트의 훅에 적용해야 한다.
이후 프로젝트 수정하고 커밋할 때 이모티콘을 선택할 수 있다.
gitmoji -i
해당 명령어를 실행하면 .git의 hooks 폴더에 스크립트 파일이 생성된다.
프로젝트 폴더 안에 또 다른 프로젝트가 포함될 때 사용한다.
이후 submodule 폴더와 .gitmodules 파일이 생성되고 이를 커밋해야한다.
서브모듈의 변경사항은 submodule 폴더에 접근하여 커밋을 해야만 스테이징이 가능하다.
git submodule add (서브모듈의 GitHub 레포지토리 주소) (하위폴더명, 없을 시 생략)
여러 프로젝트에 사용되는 공통모듈일 때 유용
기본적으로 서브모듈은 clone시 받아오지 않는데 원하는 서브모듈을 받아오기 위해 다음 명령어를 사용한다.
git submodule init (특정 서브모듈 지정시 해당 이름)
git submodule update
git submodule update --remote
--remote : 서브모듈에 원격 저장소의 변경사항 반영
--recursive : 서브모듈 안에 또 서브모듈이 있을 시 추가