programing

Git: 두 개의 다른 파일을 다른 분기로 분산시키는 방법은 무엇입니까?

newsource 2023. 6. 29. 20:09

Git: 두 개의 다른 파일을 다른 분기로 분산시키는 방법은 무엇입니까?

다른 지점에 두 개의 다른 파일이 있습니다.어떻게 하나의 명령으로 그것들을 분산시킬 수 있습니까?

비슷한 것

# git diff branch1/foo.txt branch2/foo-another.txt

다른 파일을 체크아웃하여 복원할 수도 있지만, 그건 꽤 더러운 해결책입니다.

git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt

상대 경로를 사용할 수도 있습니다.

git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt

사이드 노트: 전체 경로가 필요하지 않으므로 다음과 같이 시작할 수 있습니다../상대 경로에 대해.그것은 때때로 유용할 수 있습니다.

git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt

주제에서 벗어난 답변 - 동일한 파일을 다른 분기로 분산

덧붙이자면 매우 간단한 구문입니다.

git diff <branch1> <branch2> <filepath>

예를 들어 다음과 같은 상대 참조에서도 작동합니다.

# compare the previous committed state from HEAD with the state branch1 was 3 commits ago
git diff HEAD^ <branch1>~3 <filepath>

서로 다른 두 분기의 파일을 비교하는 방법은 여러 가지가 있습니다.예:

  • 이름이 같거나 다른 경우:

     git diff branch1:file branch2:file
    

    예:

     git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt
    
  • 이름이 동일하고 현재 작업 디렉터리를 일부 분기와 비교하려는 경우에만:

    git diff ..someBranch path/to/file
    

    예:

    git diff ..branch2 full/path/to/foo.txt
    

    이 예에서는 실제 분기의 파일을 마스터 분기의 파일과 비교합니다.

다음 응답을 확인할 수 있습니다.

Git에 있는 서로 다른 두 분기의 파일 비교

다음에 대한 시작 및 범위를 지정할 수 있습니다.git diff적용될범위는 다음과 같이 표시됩니다...표기법

branch1=somebranch
branch2=someotherbranch
git diff ${branch1}..${branch2} -- file_path

언급URL : https://stackoverflow.com/questions/8131135/git-how-to-diff-two-different-files-in-different-branches