2012-02-28 7 views
0

지정된 커밋에서 변경된 파일을 어떻게 찾을 수 있습니까? 이러한 커밋과 함께 변경된 파일이 있으며 HEAD에 이러한 변경 사항이 남아 있습니다. 따라서 한 커밋에서 한 줄을 변경 한 다음 다른 커밋에서 같은 줄을 변경하면 그 줄은 검색 결과에 포함되지 않습니다.지정된 커밋에서 행이 변경된 파일 찾기

예를 들어 파일 f1, f2이 있고 c1, c2을 커밋합니다.

c1f1

f2 일부 변경을 도입 커밋 c2c1 왼쪽 더 변화 (이 c1 변경 하였다 적어도 라인마다 변경) 없는지 이러한 방식 f1 변경 커밋. 또한 c1에서 일부 변경 사항을 보존하는 방식으로 f2을 변경합니다 (c1에서 변경된 하나 이상의 행은 변경되지 않음).

검색 결과는 c1에서 검색된 내용으로 변경되어 f2으로 반환되어야합니다. 그러나 모든 변경 사항이 c2으로 덮어 쓰여 지므로 검색은 f1을 반환하지 않아야합니다.

+0

당신이 사용하려는 명령을 추가 할 수 있습니다 : 두 개의 나무 틱 개체를 비교 git diff를 사용? –

+0

git log --name-only?! –

+0

퀘스트 온을 이해하지 못합니다. 예제를 제공하십시오. –

답변

1

두 개의 커밋간에 어떤 파일이 다른지 알고 싶습니까?

git diff --name-only commit1 commit2 
+0

다르지 않다, HEAD의 지정된 커밋에서 변경된 행을 포함하는 모든 파일을 찾고 싶습니다. 따라서 변경 사항이 다른 커밋에 의해 덮어 쓰여지는지 질문에 설명했듯이 최종 결과에 포함되지 않습니다. 즉, 발견 된 파일에 대해 비난을 사용하면 지정된 커밋 중 하나 이상에서 적어도 하나의 행이 변경된 것으로 표시되어야합니다. –

+0

@mishanesterenko 그게 원한다면,'git blame'과'grep'을 사용하여 답을 얻는 것이 잘못된 것입니까? – Borealid

+0

@mishanesterenko : 실제로 diff를 사용해 보셨나요? 나는 도와 줄 수는 없지만 원하는대로한다고 생각합니다. 다시 덮어 쓰거나 변경된 변경 내용을 표시하지 않습니다.« – knittl

관련 문제