git diff 파일을 가져 와서 동일한 리포지토리의 복사본 인 로컬 브랜치에 어떻게 적용합니까? 변경 사항을 정확히 동일한 리포지토리의 로컬 지점에

동료가 만든 .diff 파일이 있는데 해당 diff 파일에 나열된 변경 사항을 정확히 동일한 리포지토리의 로컬 지점에 적용하고 싶습니다. 이 diff 파일을 생성하는 데 사용 된 해당 작업자의 PC 또는 지점에 액세스 할 수 없습니다.

분명히 나는 ​​한 줄씩 가서 모든 것을 다시 입력 할 수는 있지만 시스템에 인간의 실수가 적용되지는 않을 것입니다. 가장 쉬운 방법은 무엇입니까?



답변

diff 파일을 저장소의 루트에 복사 한 후 다음을 수행하십시오.

git apply yourcoworkers.diff

apply명령 에 대한 자세한 내용은 해당 매뉴얼 페이지를 참조하십시오 .

그건 그렇고 : 파일로 전체 커밋을 교환하는 더 좋은 방법 git format-patch은 보낸 사람과 수신자 의 명령 을 결합하는 것입니다.이 방법은 작성자 git am정보와 커밋 메시지를 전송하기 때문입니다.

패치 응용 프로그램이 실패하고 diff가 생성 된 커밋이 실제로 리포지토리에있는 경우 해당 -3옵션을 사용 apply하여 변경 사항을 병합 할 수 있습니다 .

또한 다음과 같이 Unix 파이프와 함께 작동합니다.

git diff d892531 815a3b5 | git apply


답변