Git/Github에서 file의 이름이나 경로를 변경할 때(rename, move) 히스토리 유지시키는 방법
Git에서 history 유지하기
개발하다보면
파일이름을 수정하거나, 위치를 이동시키는 일이 잦은데
그럴 때마다 그 파일의 이전 히스토리가 안보여서
해결방법을 찾아보게 되었고 기억하기 위해 글 씀!
[ 방법 1 : 이름 변경, 폴더 변경해도 git log 확인시 계속 지난 히스토리가 보이도록 기본 설정. (이 값이 디폴트가 아닌 이유는, 성능이슈 때문이라고 함) ]
- (해당 Repo만 설정) git config log.follow true
(전역 설정) git config –global log.follow true - git mv foo.txt bar.txt
- git commit -m ‘rename: foo.txt –> bar.txt’
- 히스토리 잘 보이는지 확인
git log bar.txt
[ 방법 2 : 디폴트로 설정하지 않고, 단일 파일 하나당 log 확인하고 싶을 때 ]
- git mv foo.txt bar.txt
- git log –follow -p {파일이름}
Github 에서 history 유지하기
그러나 아직 완벽하지 않았다.
위의 방법은 히스토리를 git에서만 볼 수 있고, Github History에서는 여전히 볼 수가 없다. (Blame탭에서는 가능)
그래서 방법을 또 찾아봄
- Chrome브라우저의 extension app: Github Follow라는 것이 있었다.
- (이 아이를 설치한 브라우저에 한해서) 변경되기전 파일의 ‘follow링크’가 렌더링되고, 클릭하면 이전 파일의 history 페이지가 나온다.
참고로 이런 (불편한) 일이 일어나는 이유는,
- git은 file이 아닌 content기준으로 tracking을 하기 때문이고
- (이미 많은 사람들이) Github에 유사한 문의를 올렸는데, known issue이고 추후 개발할 수도 있다는 답변을 줬다고 한다.
(참고한 문서들)
Subscribe via RSS