2012-02-29 4 views
2

변화를 리베이스 나는 힘내 "--amend 커밋 자식"A 다음 다음을 인쇄주의 사항 :이름을 나타내는 git 상태를 어떻게 확인할 수 있습니까?

11 files changed, 427 insertions(+), 2067 deletions(-) 
rewrite include/File1.h (71%) 
rename include/{File1.h => File2.h} (75%) 
rewrite dir1/File1.cc (86%) 
rename dir1/{File1.cc => File2.cc} (80%) 

을하지만, 내가 자식 로그를 실행할 때 -1 후에는 이름 변경을 표시하지 않습니다 --stat :

include/File1.h   | 160 +------ 
include/File2.h   | 166 ++++++ 
partition/File1.cc  | 1081 ++-------------------------------------- 
partition/File2.cc  | 1031 ++++++++++++++++++++++++++++++++++++++ 

리베이스하지 않고 이름을 볼 수있는 방법이 있습니까?

답변

5

시도 git log -1 --stat -M. -M 플래그는 git log에 이름 바꾸기를 지시합니다. 마찬가지로 -C 플래그도 복사본을 찾습니다.

원하는 이름을 찾을 수없는 경우 임계 값을 조정할 수도 있습니다. 예를 들어 git log -1 --stat -M70%은 제거 된 파일과 70 % 이상 유사한 새 파일을 이름 바꾸기로 간주합니다 (사본의 경우 -C에도 동일하게 적용됩니다). 나는 디폴트가 50 %라고 생각한다.

이 동작을 항상 원할 경우 구성 변수 diff.renames을 설정할 수 있습니다. true으로 설정하면 이름 변경이 항상 감지되고 copy 또는 copies으로 설정하면 항상 복사본도 검색됩니다.

+2

기억을 돕기위한 추가 세부 정보 : 이동과 이름 바꾸기는 Linux 환경에서 동일한 작업이므로 M은 "이동"을 의미합니다. –

관련 문제