Aceasta este comanda git-commit-tree care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
git-commit-tree - Creează un nou obiect de comit
REZUMAT
merge commit-tree [(-p )...]
merge commit-tree [(-p )...] [-S[ ]] [(-m )...]
[(-F )...]
DESCRIERE
De obicei, acest lucru nu este ceea ce un utilizator final dorește să ruleze direct. Vedea git-commit(1) în schimb.
Creează un nou obiect commit pe baza obiectului arborescent furnizat și emite noul commit
ID-ul obiectului pe stdout. Mesajul jurnal este citit de la intrarea standard, cu excepția cazului în care -m sau -F
sunt date optiuni.
Un obiect commit poate avea orice număr de părinți. Cu exact un părinte, este ceva obișnuit
comite. Având mai mult de un părinte face comiterea o îmbinare între mai multe linii de
istorie. Comiterile inițiale (rădăcină) nu au părinți.
În timp ce un arbore reprezintă o anumită stare de director a unui director de lucru, un commit
reprezintă acea stare în „timp” și explică cum să ajungi acolo.
În mod normal, un commit ar identifica o nouă stare „HEAD” și, în timp ce Git nu-i pasă unde ești
salvați nota despre acea stare, în practică avem tendința de a scrie doar rezultatul în fișier
care este indicat de .git/HEAD, astfel încât să putem vedea întotdeauna care este ultima stare comisă
a fost.
OPŢIUNI
Un obiect arborescent existent
-p
Fiecare -p indică id-ul unui obiect de comitere părinte.
-m
Un paragraf în mesajul de jurnal de comitere. Acesta poate fi dat de mai multe ori și fiecare
devine propriul paragraf.
-F
Citiți mesajul de jurnal de comitere din fișierul dat. Utilizați - pentru a citi din standard
intrare.
-S[ ], --gpg-sign[= ]
Semnul GPG se comite. Argumentul keyid este opțional și este implicit la committer
identitate; dacă este specificat, trebuie să fie lipit de opțiunea fără spațiu.
--no-gpg-sign
Variabila de configurare Countermand commit.gpgSign care este setată să forțeze fiecare
se angajează să fie semnat.
COMITEAZA INFORMAŢII
Un commit încapsulează:
· toate ID-urile obiectelor părinte
· numele autorului, e-mailul și data
· numele și adresa de e-mail a committerului și ora de comitere.
În timp ce ID-urile obiectelor părinte sunt furnizate pe linia de comandă, informațiile despre autor și comisionar
este luat din următoarele variabile de mediu, dacă este setată:
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE
(nb „<”, „>” și „\n” sunt eliminate)
În cazul în care (unele dintre) aceste variabile de mediu nu sunt setate, informațiile sunt preluate din
elementele de configurare user.name și user.email sau, dacă nu sunt prezente, mediul
variabila EMAIL sau, dacă nu este setată, numele de utilizator al sistemului și numele gazdei utilizate pentru
e-mail de ieșire (preluat din /etc/mailname și revenirea la numele de gazdă complet calificat
când acel fișier nu există).
Un comentariu de comitere este citit de la stdin. Dacă o intrare din jurnalul de modificări nu este furnizată prin „<”
redirectionare, merge commit-tree va aștepta doar ca unul să fie introdus și terminat cu ^D.
DATA FORMATE
Variabilele de mediu GIT_AUTHOR_DATE, GIT_COMMITTER_DATE acceptă următoarea dată
formate:
Format intern Git
Este , Unde este numărul de
secunde de la epoca UNIX. este o compensare pozitivă sau negativă
din UTC. De exemplu, CET (care este cu 2 ore înainte de UTC) este +0200.
RFC 2822
Formatul standard de e-mail, așa cum este descris de RFC 2822, de exemplu joi, 07 aprilie 2005
22:13:13 +0200.
ISO 8601
Ora și data specificate de standardul ISO 8601, de exemplu 2005-04-07T22:13:13. The
analizatorul acceptă și un spațiu în loc de caracterul T.
notițe
În plus, partea dată este acceptată în următoarele formate: AAAA.LL.ZZ,
LL/ZZ/AAAA și ZZ.LL.AAAA.
DISCUŢIE
Git este într-o oarecare măsură codificarea caracterelor agnostic.
· Conținutul obiectelor blob sunt secvențe neinterpretate de octeți. Nu este
codificarea traducerii la nivel de bază.
· Numele căilor sunt codificate în forma de normalizare UTF-8 C. Acest lucru se aplică obiectelor arborescente,
fișierul index, numele referințelor, precum și numele căilor în argumentele liniei de comandă,
variabilele de mediu și fișierele de configurare (.git/config (vezi git-config(1)), gitignore(5),
gitattributes(5) și gitmodules(5)).
Rețineți că Git la nivelul de bază tratează numele căilor pur și simplu ca secvențe de non-NUL
octeți, nu există conversii de codificare a numelui căii (cu excepția Mac și Windows).
Prin urmare, utilizarea numelor de căi non-ASCII va funcționa în cea mai mare parte chiar și pe platforme și fișiere
sisteme care utilizează codificări ASCII extinse vechi. Cu toate acestea, depozitele create pe
astfel de sisteme nu vor funcționa corect pe sisteme bazate pe UTF-8 (de exemplu, Linux, Mac, Windows)
si invers. În plus, multe instrumente bazate pe Git presupun pur și simplu că sunt numele de căi
UTF-8 și nu va afișa corect alte codificări.
· Mesajele de jurnal de comitere sunt de obicei codificate în UTF-8, dar alte codificări ASCII extinse
sunt de asemenea suportate. Aceasta include ISO-8859-x, CP125x și multe altele, dar nu
Codări multi-octeți UTF-16/32, EBCDIC și CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx
etc.).
Deși încurajăm ca mesajele de jurnal de comitere să fie codificate în UTF-8, atât nucleul, cât și
Git Porcelain sunt concepute pentru a nu forța UTF-8 pe proiecte. Dacă toți participanții a
un anumit proiect consideră că este mai convenabil să folosească codificări vechi, Git nu interzice
aceasta. Cu toate acestea, există câteva lucruri de reținut.
1. merge comite și merge commit-tree emite un avertisment dacă mesajul de jurnal de comitere care i-a fost dat
nu arată ca un șir UTF-8 valid, cu excepția cazului în care spuneți în mod explicit că proiectul dvs. folosește a
codificare moștenită. Modul de a spune acest lucru este să aveți i18n.commitencoding în .git/config
fișier, așa:
[i18n]
commitencoding = ISO-8859-1
Obiectele Commit create cu setarea de mai sus înregistrează valoarea i18n.commitencoding
în antetul său de codificare. Acest lucru este pentru a ajuta alți oameni care se uită la ele mai târziu. Lipsă
acest antet implică faptul că mesajul de jurnal de comitere este codificat în UTF-8.
2. merge log, merge Arăta, merge vină iar prietenii se uită la antetul de codificare al unui commit
obiect și încercați să recodificați mesajul de jurnal în UTF-8, dacă nu se specifică altfel. Tu
poate specifica codificarea de ieșire dorită cu i18n.logoutputencoding în .git/config
fișier, așa:
[i18n]
codificare logoutput = ISO-8859-1
Dacă nu aveți această variabilă de configurare, valoarea i18n.commitencoding este
folosit în schimb.
Rețineți că am ales în mod deliberat să nu recodificăm mesajul de jurnal de comitere atunci când o comitere este
făcut pentru a forța UTF-8 la nivelul obiectului de comitere, deoarece recodificarea la UTF-8 nu este
neapărat o operaţie reversibilă.
Utilizați git-commit-tree online folosind serviciile onworks.net