我想將兩個文件從一個存儲庫移動到另一個。最初添加的文件爲:跨幾個重命名爲兩個文件創建Git修補程序
/src/init/Price.cs
/tests/init/PriceTests.cs
兩個文件後來被更名爲:
/src/init/PriceValue.cs
/tests/init/PriceValueTests.cs
,然後轉移到:
/src/moved/PriceValue.cs
/tests/moved/PriceValueTests.cs
我試圖通過this description去創建一組補丁對這些文件的,但我不知道該如何傳遞文件存在的六個不同路徑。
我設法找到了所有影響PriceValue.cs
(橫跨重命名和移動)提交身份證,但通過這些ID對Git的失敗,出現以下錯誤信息:
$ git format-patch -o /tmp/pricevaluepatches $(git log --all dfeeb 6966b 9f882 …)
-bash: /usr/local/bin/git: Argument list too long
那麼,如何創建一個這套修補程序只包含對所提及文件的更改,但在每個文件的一個重命名和一個移動中包含它?
你試過把所有的文件'ids.txt'(每行一個),並運行'貓ids.txt提交的ID | 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'整個重命名和移動變化? –