Ricerca…


Sintassi

  • git am [--signoff] [--keep] [- [no-] keep-cr] [- [no-] utf8] [--3way] [--interactive] [--committer-date-is -author-date] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace = <opzione>] [-C <n>] [-p <n>] [--directory = <dir>] [--exclude = <percorso>] [- include = <percorso>] [--reject] [-q | --quiet] [- [no-] forbici] [-S [<keyid>]] [--patch-format = <format>] [(<mbox> | <Maildir>) ...]
  • git am (--continue | --skip | --abort)

Parametri

Parametro Dettagli
(<Mbox> | <Maildir>) ... L'elenco dei file delle cassette postali da cui leggere le patch. Se non si fornisce questo argomento, il comando legge dallo standard input. Se fornisci directory, saranno trattati come Maildir.
-s, --signoff Aggiungi una riga Sottoscritta: riga al messaggio di commit, utilizzando l'identità committer di te stesso.
-q, --quiet Silenzio. Stampa solo messaggi di errore.
-u, --utf8 Passa il flag -u per git mailinfo . Il messaggio di i18n.commitencoding commit proposto dall'e-mail viene ricodificato nella codifica UTF-8 (la variabile di configurazione i18n.commitencoding può essere utilizzata per specificare la codifica preferita del progetto se non è UTF-8). Puoi usare --no-utf8 per sovrascriverlo.
--no-utf8 Passa il flag -n a git mailinfo.
-3, - 3way Quando la patch non si applica in modo pulito, ricorrere all'unione a 3 vie se la patch registra l'identità dei BLOB a cui si suppone si applichi e abbiamo i blob disponibili localmente.
--ignore-date, --ignore-space-change, --ignore-whitespace, --whitespace = <option>, -C <n>, -p <n>, --directory = <dir>, - exclude = <percorso>, --include = <percorso>, --reject Questi flag vengono passati al programma git apply che applica la patch.
--patch-format Di default il comando proverà a rilevare automaticamente il formato della patch. Questa opzione consente all'utente di ignorare il rilevamento automatico e specificare il formato di patch che le patch devono essere interpretate come. I formati validi sono mbox , stgit , stgit-series e hg .
-i, --interactive Esegui in modo interattivo.
--committer-date-è-autore-data Per impostazione predefinita, il comando registra la data dal messaggio di posta elettronica come data dell'autore del commit e utilizza l'ora di creazione del commit come data del commit. Ciò consente all'utente di mentire sulla data del committer utilizzando lo stesso valore della data dell'autore.
--ignore-date Per impostazione predefinita, il comando registra la data dal messaggio di posta elettronica come data dell'autore del commit e utilizza l'ora di creazione del commit come data del commit. Ciò consente all'utente di mentire sulla data dell'autore utilizzando lo stesso valore della data del commit.
--Salta Salta la patch corrente. Questo è significativo solo quando si riavvia una patch interrotta.
-S [<keyid>], --gpg-sign [= <keyid>] Il segno GPG si impegna.
- continua, -r, --risolto Dopo un errore di patch (ad es. Il tentativo di applicare una patch in conflitto), l'utente lo ha applicato manualmente e il file di indice memorizza il risultato dell'applicazione. Effettuare un commit utilizzando la paternità e il registro di commit estratti dal messaggio di posta elettronica e dal file di indice corrente e continuare.
--resolvemsg = <msg> Quando si verifica un errore di patch, <msg> verrà stampato sullo schermo prima di uscire. Questo sovrascrive il messaggio standard che ti informa di usare --continue o --skip per gestire l'errore. Questo è solo per uso interno tra git rebase e git am .
--abort Ripristinare il ramo originale e interrompere l'operazione di patching.

Creare una patch

Per creare una patch, ci sono due passaggi.

  1. Apporta le tue modifiche e confermale.
  2. Esegui git format-patch <commit-reference> per convertire tutti i commit dal commit <commit-reference> (non incluso) nei file di patch.

Ad esempio, se le patch devono essere generate dagli ultimi due commit:

git format-patch HEAD~~ 

Questo creerà 2 file, uno per ogni commit da HEAD~~ , come questo:

0001-hello_world.patch
0002-beginning.patch

Applicare correzioni

Possiamo usare git apply some.patch per avere le modifiche dal file .patch applicato alla directory di lavoro corrente. Saranno inattivi e dovranno essere commessi.

Per applicare una patch come commit (con il suo messaggio di commit), utilizzare

git am some.patch

Per applicare tutti i file patch all'albero:

git am *.patch


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow