2012-01-06 14 views
18

Ho una patch che contiene molte modifiche che vorrei suddividere in più commit e potenzialmente modificare alcune delle modifiche.Git applica una patch alla directory di lavoro

Desidero applicare questa patch alla mia directory di lavoro e quindi confermare manualmente le modifiche. È possibile applicare una patch alla directory di lavoro in git?

risposta

21

È possibile utilizzare git apply quale si applica un cerotto:

git apply < patchname.patch 

Questo non crea alcun commit. In effetti, senza alcuna opzione il comando git apply non ha nemmeno bisogno di avere un repository Git. Applica solo patch ai file.

1

Prova questa riga di comando

git am < patchname.patch 
+1

Viene applicata una normale patch, aggiunta al repository (ad esempio un commit regolare). – Omar

4

È possibile utilizzare un comando patch, ad es .:

patch -p1 < path/file.patch 

Quando si utilizza il comando patch, di solito rilevare automaticamente il formato. Questo è utile quando stai cercando di applicare patch alla directory di lavoro che non è un checkout locale del progetto che desideri applicare.

Altrimenti utilizzare git apply se la patch è stata creata appositamente per il progetto, altrimenti non riuscirà a fare nulla se utilizzata all'interno di un checkout locale di un repository git.

Problemi correlati