Trabalho no projeto baseado em WordPress e quero corrigir meu projeto a cada nova versão do WP. Para isso, quero gerar um patch entre dois commits ou tags.
Por exemplo, no meu repo /www/WP
, faço o seguinte:
$git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch
Ou
$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch
/www/WP
git natif WordPress
/www/myproject
Meu projeto git baseado em WordPress
A git apply
linha de comando não funciona, acho que porque estamos em repositórios diferentes.
Posso gerar um arquivo de correção sem confirmação, apenas um diferencial e aplicá-lo a outro repositório git?
Desde já agradeço.
$git diff -u tag1..tag2 > mypatch.patch
e$git apply --stat > mypatch.patch
a resposta é0 files changed
outra sugestão, por favor? :)git apply
. Eu atualizei minha resposta com um exemplo.git diff -p tag1 tag2 > my.patch
que funcionou bem.Only unified diff (-uNr) format is acceptable.
, mas quando tentogit diff -uNr tag1..tag2 > mypatch.patch
eu recebo a mensagemusage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
git diff ...
+git apply ...
não lide com arquivos excluídos / movidos corretamente ... quandogit format-patch ...
+git am ...
fizer.Para produzir patch para várias confirmações, você deve usar o
format-patch
comando git, por exemploIsso exportará suas confirmações para o arquivo de correção no formato da caixa de correio.
Para gerar o patch para a última confirmação, execute:
Em outro repositório, aplique o
am
comando patch by git, por exemploVeja:
man git-format-patch
egit-am
.fonte
patch -p1
? sourceware.org/glibc/wiki/…Como complemento, para produzir patch para apenas uma confirmação específica, use:
Quando o arquivo de correção for gerado, verifique se o outro repo sabe onde está quando você usa
git am ${patch-name}
Antes de adicionar o patch, use
git apply --check ${patch-name}
para garantir que não haja conflito.fonte