2012-11-30 2 views
27

다음과 같은 출력에 git commit 리드 실행 :이 '재 작성'과 같은 파일을보고 할 때git이 커밋 메시지에서 'rewrite'또는 'rename'이라고 말하면 무슨 의미입니까?

[[email protected]] git: git commit -a -m "StreamIt instrumentation" 
[master 263410f] StreamIt instrumentation 
62 files changed, 6117 insertions(+), 5748 deletions(-) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/cluster/ClusterBackend.java (91%) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/cluster/ClusterCodeGenerator.java (95%) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/cluster/code/FlatIRToCluster.java (94%) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/common/ToCCommon.java (92%) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/flatgraph/ScheduledStaticStreamGraph.java (93%) 
rename Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/sir/lowering/fission/{StatelessDuplicate.java => HorizontalFission.java} (98%) 
rewrite Code/ALCHEMY/streamit-src-2.1.1/src/at/dms/kjc/sir/lowering/partition/dynamicprog/DynamicProgPartitioner.java (93%) 
  • 이 자식이 무슨 뜻입니까?
  • 관련된 백분율의 의미는 무엇입니까?
  • 이 커밋에서 변경된 62 개 중에서이 줄과 관련된 비율 만 나타나는 이유는 무엇입니까?
+0

나는 rebase를 만들었다 고 생각합니다. 그렇지 않습니까? –

+0

@OleksandrKravchuk 나는 정말로 내가 복사 한 것을 여기에 복사하여 붙여 넣었다 : 단지 자식 커밋 –

+0

바이너리 파일인가? 읽는 텍스트가 아닌 것처럼? 보통 git이 컴파일 된 파일을 비교할 때 그 종류의 출력을 볼 수 있습니다. –

답변

30

힘내 기는 경험적 방법을 사용하여 변경 내용이 파일의 이름 바꾸기 또는 복사인지 여부와 파일의 "다시 쓰기"여부를 확인합니다. 대충 말해서 이전 버전과 새 버전 간의 차이가 새 버전 자체보다 크면 "다시 쓰기"입니다.

이것은 원본 파일을 변경하는 원래의 경우에 맞게 조정되어 있습니다. 대부분 로컬 화 된 변경 작업을합니다. 라인 별 diff를 기반으로하므로 소스 파일에 다시 들어가는 것과 같은 작업이 트리거 될 수 있습니다. 또한, 즉석에서 결정되기 때문에 "-b"및 "-w"와 같은 diff 옵션은 변경 내용이 다시 작성 (또는 복사본 또는 이름 바꾸기)인지에 대한 평가를 변경할 수 있습니다.

퍼센트는 git의 "차이 지수"입니다 (이름 바꾸기 또는 사본의 비율 "유사성 색인"과 반대). 파일의 행 비율이 변경되었을 가능성이 있습니다.

+0

이 설명에 감사드립니다. Ctrl + Shift + F를이 자바 파일에서 이클립스에서 수행했습니다. 즉, 자동 형식 지정과 결과 파일에 많은 변경 사항이 있습니다. git 출력 결과는 재 작성 및 이름이 변경된 파일이 아닌 "거의 변경되지 않은"파일 만 표시합니다. 내 경우에는 62 사이의 다른 모든 변경 사항이 사소한 변경 사항임을 의미합니까? –

+0

예, 커밋 후 요약에는 추가, 제거, 이름 변경, 복사 또는 재 작성된 파일이 나열됩니다 ('git diff --summary HEAD^..'의 결과입니다). 따라서 다른 변경 사항은 파일에 대한 "정상적인"변경입니다. 재 작성 경험적 방법을 트리거하기에는 충분하지 않습니다. – araqnid