>source

A와 B라는 2개의 분기가 있다고 가정해 보겠습니다.

B는 몇 개의 커밋보다 앞서 있고 몇 개의 커밋 뒤에 있습니다.

B를 A로 병합하고 싶습니다(충돌이 없다고 합시다).

PR을 엽니다. B를 A로 병합합니다.

예를 들어 Diff인 3개의 파일을 보여줍니다.

이제 내가 수정하고 브랜치 A에 수동으로 푸시했다고 가정해 보겠습니다. 동일한 PR을 다시 열 때 diff가 있는 파일이 1개만 있음을 보여주기를 기대하지만 github이 커밋에서 diff를 보기 때문에 "변경된" 파일이 여전히 3개 있음을 보여줍니다.

파일 간의 차이를 표시하는 외부 도구가 있습니까? 커밋하지?

제 자신을 분명히 하였기를 바랍니다.

아니요, git diff는 파일이 아닌 커밋 간의 차이를 보여주기 때문에 유용하지 않습니다. 파일은 정확히 동일하지만 커밋의 변경 사항을 다른 분기로 푸시했기 때문에 실제로는 없을 때 diff가 표시됩니다.

SimonSK2022-01-26 06:12:14

좋은 일이라고 생각하지 않습니다. B 브랜치에서 A 브랜치의 일부 code를 사용하려면 두 개의 다른 브랜치에 유사한 code를 작성하는 대신 체리 피킹을 사용하여 수행해야 합니다. 하지만 이렇게 해야 한다고 가정해 보겠습니다. 특정 파일을 알고 있다면 두 분기 간에 git diff를 사용할 수 있습니다. 디렉토리는 알고 있지만 특정 파일을 모르는 경우 변경 사항을 동적으로 비교할 수 있습니다. 이것이 당신의 질문에 대답합니까?

TDiblik2022-01-26 06:12:14

내가 링크한 소스가 그렇지 않다고 말할 것이라고 확신합니다(시도하지 않았습니다). 시도해 보셨습니까?

TDiblik2022-01-26 06:12:14

git diff A B는 브랜치 A와 B의 두 헤드 커밋의 차이점을 보여줍니다. 파일이 A와 B에서 동일하면 git diff의 출력에 표시되지 않습니다. GitHub는 대상에 대한 차이가 아니라 분기의 변경 사항(즉, 병합 기반과의 차이점)을 표시할 수 있습니다.

knittl2022-01-26 06:12:14
  • 이전 python : 팬더 타임스탬프에서 시간대 변환
  • 다음 php : 외부 도메인에서 문자열 스크래핑