sourcecode

저장한 파일로 패치를 포맷하려면 어떻게 해야 합니까?

copyscript 2023. 7. 13. 21:02
반응형

저장한 파일로 패치를 포맷하려면 어떻게 해야 합니까?

나는 내 잔돈을 보관합니다.제가 보관한 것으로 패치를 생성할 수 있습니까?그런 다음 다른 저장소(동료의 저장소)에 패치를 적용하시겠습니까?

알고있어요git format-patch -1하지만 제가 저지른 일을 위해서라고 생각합니다.하지만 저는 제가 숨겨둔 변화를 위해 같은 것을 찾고 있습니다.

다른 리포지토리에 패치를 적용하려면 어떻게 해야 합니까?

예, 다음을 지원합니다.

git stash show -p

그래서, 사용합니다.

git stash list

패치로 내보낼 저장소의 수를 확인하려면

git stash show -p stash@{<number>} > <name>.patch

수출하기 위해서입니다.

예:

git stash show -p stash@{3} > third_stash.patch

이 대답은 패치를 저장하고 사용할 위치에 패치를 적용하는 방법에 대한 정보를 제공합니다.

출력을 파일에 저장하는 방법

 git stash show -p --color=never > my-patch-name.patch

패치가 올바르게 표시되는지 확인합니다.

git apply --stat my-patch-name.patch

오류가 없는지 확인합니다.

git apply --check my-patch-name.patch

패치 적용

git apply my-patch-name.patch

사용하다

$> git stash list
stash@{0}: WIP on master: 84fx31c Merged with change to /public/
stash@{1}: WIP on master: 463yf85 FlupResource: also takes json as a query parameter

최근에 숨겨놓은 물건들의 목록을 얻는 것.Git는 실제로 저장할 때 커밋 개체를 만듭니다.

그들은 다른 모든 것들과 마찬가지로 커밋입니다.분기별로 체크아웃할 수 있습니다.

$> git checkout -b with_stash stash@{0}

그런 다음 이 분기를 게시하고 동료가 해당 커밋을 병합하거나 선택할 수 있습니다.

위의 솔루션은 이진 데이터에 대해 작동하지 않습니다.다음은 이에 대한 지원을 추가합니다.

git stash show stash@{0} -p --binary

편집

참고: 위의 답변에 댓글을 추가하고 싶었을 뿐인데, 제 평판이 충분하지 않습니다.

나는 이것이 최근 Git의 업데이트 중 하나일 것이라고 믿습니다.저장한 변경 사항을 더 이상 패치할 필요가 없습니다.한 분기에 저장된 변경사항을 다른 분기에 적용할 수 있습니다.

A 지점에 stash@{1}이라고 하는 일부 변경 사항을 저장했다고 합니다.

이제 B 지점으로 전환합니다. 다음을 수행할 수 있습니다.

$git stash apply stash@{1}

이렇게 하면 지점 A의 변경 사항이 지점 B로 적용됩니다.

언급URL : https://stackoverflow.com/questions/2160638/how-can-i-format-patch-with-what-i-stash-away

반응형