답변:
참고 : 먼저 패치가 수행 할 작업을 미리 볼 수 있습니다.
먼저 통계 :
git apply --stat a_file.patch
그런 다음 오류를 감지하는 드라이 런 :
git apply --check a_file.patch
마지막으로 git am
패치를 커밋으로 적용 하는 데 사용할 수 있습니다 . 적용된 패치에서 사인 오프 할 수 있습니다.
나중에 참조 할 때 유용 할 수 있습니다.
git am --signoff < a_file.patch
자식 로그에서 커밋 메시지에 "Signed-off-by"태그가 포함되어 있음을 알 수 있습니다. 이 태그는 Github과 다른 사람들이 커밋이 코드에서 어떻게 종료되었는지에 대한 유용한 정보를 제공하기 위해 읽 힙니다.
git am < somepatch.patch
"치명적 : 빈 ID 이름 (<>)이 허용되지 않음"을 생성합니다. 누군가 왜 나에게 설명 할 수 있습니까?
Author
은 패치에서 잘못된 헤더 를 의미하며 , 그렇지 않은 경우 git config user.{name,email}
입니다.
git apply --check
라고 patch does not apply
하고 git apply -3
말한다 repository lacks the necessary blob to fall back on 3-way merge.
커밋을 리베이스하는 그런 바람입니다, 자식에; 그러나 사람들은 어떻게 업데이트 된 코드 위에 패치 를 리베이스 합니까?
git apply name-of-file.patch
먼저 와의 차이점 에 대해 메모해야합니다.git am
git apply
사용 git am
하는 경우 일반적으로 많은 패치를 적용하고 싶습니다. 따라서 다음을 사용해야합니다.
git am *.patch
또는 그냥 :
git am
힘내 패치를 자동으로 찾아서 순서대로 적용합니다 ;-)
UPD
여기서 이러한 패치를 생성하는 방법을 찾을 수 있습니다
git apply
.. 및 --reverse
:-) 을 사용하는 데 도움이되었습니다 .
JetBrains IDE (예 : IntelliJ IDEA, Android Studio, PyCharm)를 사용하는 경우 패치 파일을 끌어서 IDE 안에 놓으면 패치 내용을 보여주는 대화 상자가 나타납니다. 이제 "Apply patch (패치 적용)"를 클릭하기 만하면 커밋이 생성됩니다.