하나의 저장소에서 다른 저장소로 두 파일을 옮기고 싶습니다.여러 개의 이름을 가진 두 파일에 대한 Git 패치를 만듭니다.
/src/init/PriceValue.cs
/tests/init/PriceValueTests.cs
/tests/init/PriceTests.cs
두 파일
/src/init/Price.cs
- 나중에로 이름이 변경되었습니다 : 같은 파일은 원래 추가되었습니다
/src/moved/PriceValue.cs
/tests/moved/PriceValueTests.cs
내가 이러한 파일의 패치 세트를 만들 this description로 이동하려고했습니다,하지만 난 방법을 확실 해요 : 6,
그리고 한 다음에 이동 파일이 존재하는 여섯 가지 경로를 전달하십시오.
나는 (이름 변경 및 이동에 걸쳐)
PriceValue.cs
에 영향을 미치는 모든 커밋 ID를 찾아 나섰고 힘내에 그 ID를 통과하면 다음과 같은 오류 메시지와 함께 실패했습니다$ git format-patch -o /tmp/pricevaluepatches $(git log --all dfeeb 6966b 9f882 …) -bash: /usr/local/bin/git: Argument list too long
그래서, 어떻게 내가 어떻게 만듭니 까 언급 된 파일에 대한 변경 사항 만 포함되어 있지만 하나의 이름 바꾸기와 각 파일 이동에 대해 변경 사항이 포함 된 패치 세트
모든 커밋 ID를'ids.txt' (한 줄에 하나씩) 파일에 넣고'cat ids.txt | xargs git format-patch -o/tmp/pricevaluepatches'? –
또한 명령에서'git log --all ...'을 실행할 필요가 없습니다. 간단한'git format-patch -o/tmp/pricevaluepatches dfeeb 6966b 9f882 ...'이면 충분합니다. –
@ NilsWerner, 제안에 감사드립니다. 하지만 문제의 절반 만 해결합니다. 내가 가지고있는 ID로 인식되는 커밋에서 이름 바꾸기와 이동에 걸쳐 'PriceValue.cs' 및'PriceValueTests.cs'에 영향을주는 변경 만 적용하려면 어떻게해야합니까? –