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.
- Apporta le tue modifiche e confermale.
- 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