git format-patch로 생성된 패치를 적용하는 방법은 무엇입니까?
두 개의 로컬 Git 저장소가 있으며, 둘 다 동일한 원격 저장소를 가리킵니다.
하나의 git 저장소에서, 만약 내가 한다면.git format-patch 1
다른 리포지토리에 패치를 적용하려면 어떻게 해야 합니까?
참고: 먼저 패치가 수행할 작업을 미리 볼 수 있습니다.
먼저 통계:
git apply --stat a_file.patch
그런 다음 오류를 감지하기 위한 모의 실행:
git apply --check a_file.patch
마지막으로 를 사용하여 패치를 커밋으로 적용할 수 있습니다.이를 통해 적용된 패치를 로그오프할 수도 있습니다.
이것은 나중에 참조할 때 유용할 수 있습니다.
git am --keep-cr --signoff < a_file.patch
당신이 가지고 있는 것을 잊지 마세요.
autocrlf=false
Windows(윈도우) 전용 개발의 경우 다음으로 전달해야 합니다.am
그 CRLF들을 보관하기 위해.
이 기사의 예를 참조하십시오.
Git 로그에는 커밋 메시지에 "Signed-off-by" 태그가 포함되어 있습니다.이 태그는 Github과 다른 사람들이 커밋이 어떻게 코드에 도달했는지에 대한 유용한 정보를 제공하기 위해 읽을 것입니다.
git apply name-of-file.patch
아니면, 만약 당신이 오래된 학교를 차버린다면:
cd /path/to/other/repository
patch -p1 < 0001-whatever.patch
먼저, 당신은 다음의 차이점에 대해 기록해야 합니다.git am
그리고.git apply
사용할 때git am
당신은 보통 많은 패치를 적용하기를 원합니다.따라서 다음을 사용해야 합니다.
git am *.patch
아니면 그냥:
git am
Git는 패치를 자동으로 찾아 순서대로 적용합니다 ;-)
업데이
여기에서 이러한 패치를 생성하는 방법을 찾을 수 있습니다.
커밋으로 적용하려면 gitam을 사용합니다.
JetBrain IDE(IntelliJ IDEA, Android Studio, PyCharm 등)를 사용하는 경우 패치 파일을 끌어 IDE 내부에 놓을 수 있으며 패치 내용을 보여주는 대화 상자가 나타납니다.이제 "패치 적용"을 클릭하기만 하면 커밋이 생성됩니다.
다른 방법은 로컬 리포지토리 중 하나를 다른 리포지토리에 원격으로 추가하는 것입니다.
$ cd repo1
$ git remote add repo2 file:///path/to/repo2/.git
따라서 한 로컬 저장소에서 다른 로컬 저장소로 분기를 가져오거나, 로컬 지점을 재배치하거나, 커밋을 선택할 수 있습니다.
$ git remote update repo2
$ git fetch repo2 branch:branch-from-repo2
$ git log branch-from-repo2
언급URL : https://stackoverflow.com/questions/2249852/how-to-apply-a-patch-generated-with-git-format-patch
'programing' 카테고리의 다른 글
iOS 7: 상태 표시줄 아래에 UITableView 표시 (0) | 2023.05.28 |
---|---|
Xcode 9 GM - WKWebView 이전 버전에서는 코딩 지원이 중단되었습니다. (0) | 2023.05.28 |
다른 스토리보드에 세그? (0) | 2023.05.28 |
깃 저장소를 특정 커밋으로 롤백하려면 어떻게 해야 합니까? (0) | 2023.05.28 |
Objective-C에서 NSRay를 NSString으로 변환 (0) | 2023.05.28 |