GIT

Screenshot Software:
GIT
Detalii soft:
Versiune: 2.16.0 Actualizat
Incarca data: 20 Jan 18
Producător: Junio C Hamano
Licenţă: Gratuit
Popularitate: 64

Rating: 3.0/5 (Total Votes: 1)

Git este unul dintre cele mai răspândite sisteme de control distribuite, descrise de dezvoltatorii din întreaga lume ca fiind cel mai important serviciu VCS. Se rulează numai de la terminal, dar mai multe fronturi sunt disponibile pentru descărcare.

Este o aplicație gratuită și open source pentru controlul versiunilor, care poate gestiona atât proiectele mari, cât și cele mici, cu o eficiență maximă și o viteză maximă. Programul poate fi ușor descris ca fiind mic, rapid și distribuit.


Opțiuni de linie de comandă

Programul vine cu o mulțime de comenzi care pot fi ușor memorate de oricine de la get-go. Toate operațiile sunt efectuate local și au fost proiectate pentru a lucra la kernelul Linux.

Comenzile incluse sunt adăugate, bisect, branch, checkout, clone, commit, diff, preluare, grep, init, log, merge, mv, trage, împinge, rebase, reset. Puteți afla cu ușurință ce face fiecare comandă executând comanda git -help dintr-o fereastră terminală.


Caracteristici dintr-o privire

Când se utilizează Git, utilizatorii vor putea să adauge fișiere, ramuri sau căi de plată, depozite de clone, să creeze replici Git goale, să se alăture mai multor istorii de dezvoltare, să afișeze starea copacului de lucru, să înregistreze modificările, șterge sucursalele.

În plus, aplicația permite utilizatorilor să vizualizeze schimbările între comitete și arborii de lucru, să imprime linii care se potrivesc cu un model, să vizualizeze jurnalele de comitere, să descarce refacere și obiecte, să redenumească sau să mute fișiere, simbolinks și directoare, fișiere dintr-un arbore de lucru.


Există diferite front-uri grafice

Chiar dacă este un software de linie de comandă, sunt disponibile diverse interfețe grafice (GUI), inclusiv git-cola, SmartGit, GitEye, giggle și gitg. Programele outclasses SCM (Software Configuration Management), cum ar fi CVS, Subversion, ClearCase și Perforce, prin faptul că au ramificații locale ieftine, fluxuri multiple de lucru și zone convenabile de așteptare.


Linia de fund

Sumar, Git este un sistem gratuit de control al versiunilor, care oferă performanțe de fulger, este ușor de învățat și are o amprentă foarte mică. Cu Git puteți face schimbări de context fără fricțiune, linii de cod bazate pe roluri, flux de lucru bazat pe caracteristici și experimentări de unică folosință.

Ce este nou p>

  • O funcție de ajutor pentru a citi o singură linie întreagă în strbuf a declanșat greșit eroarea OOM la EOF în anumite condiții, care a fost fixată.
  • Pe lângă "cc: # cruft", "cc: a.dd.re.ss # cruft" a fost invatat sa "git send-email" ca modalitate validă de a le spune că trebuie să trimită și o copie de carbon în secțiunea trailer.
  • Fixați regresia la "gitk --bisect" de o actualizare recentă.
  • Spre deosebire de "git commit-tree & lt; lt; fișier "," git commit-tree -F file " nu a trecut verbatim conținutul dosarului și a completat o linie incompletă la sfârșit, dacă există. Acesta din urmă a fost actualizat pentru a corespunde comportamentului acestuia.
  • "arhiva git", mai ales atunci când este utilizat cu pathspec, a stocat un director gol în ieșirea sa, chiar dacă Git însăși nu face acest lucru. Acest lucru a fost rezolvat.
  • Protecție împotriva erorilor API, care se întâmplă, de asemenea, să șocheteze avertismentele de la GCC.
  • "git gc" încearcă să evite rularea a două instanțe în același timp prin citirea și scrierea fișierului pid / host din și în fișierul de blocare; a folosit pentru a utiliza un format incorect fscanf () la citire, care a fost corectat.
  • Linterul de testare a fost învățat că nu ne place "ecou -e".
  • Codul cmp.std.c nitpick.
  • "git describe --match" sa învățat să ia mai multe modele în seria v2.13, dar caracteristica a ignorat modelele după prima și nu a funcționat deloc. Acest lucru a fost rezolvat.
  • "git cat-file - textconv" a început să se întâlnească recent, care a fost corectată.
  • Modelul încorporat pentru a detecta "antetul funcției" pentru HTML nu se potrivesc .. elementele fără atribute care au fost fixate.
  • "git mailinfo" a pierdut în decodare citat imprimabile și a produs gunoi atunci când cele două litere după semnul egal nu sunt hexazecimal. Acest lucru a fost rezolvat.
  • Documentația pentru "-X" pentru fuziuni a fost scrisă în mod înșelător pentru a sugera că "-s-urile lor" există, ceea ce nu este cazul.
  • Spell numele sistemului nostru ca "Git" în ieșirea din scriptul request-pull.
  • Remediază o serie de probleme de acces la memorie identificate de valgrind.
  • Backports un echivalent moral de 2015 fixa la emulația pollului de la gnulib în amonte pentru a repara spargere ocazională pe HPE NonStop.
  • În formatul "- format = ..." opțiunea pentru "git for-each-ref" comanda (și prietenii săi, adică modul de listare a "ramurii / etichetei" git), "% (atom:)" (de exemplu, "% (refname:)", "% (body:)" folosite pentru a eroare.În schimb, le tratați ca și cum colonul și un șir gol care îl urmează nu au fost acolo.
  • Utilizatorii cu "color.ui = always" în configurația lor au fost rupte de o schimbare recentă care a făcut comenzile de instalare să le acorde atenție ca plasturele creat intern de către "git add -p" au fost colorate (heh) și au devenit inutilizabile. Acest lucru a fost rezolvat.
  • "ramură git -M a b" în timp ce pe o ramură care nu are nici o legătură cu nici o ramură a, fie cu ramura b a fost greșită atunci când s-au folosit mai multe locuri de muncă. Acest lucru a fost rezolvat.
  • "git rapid-export" cu opțiunea -M / -C emise "copie" instrucțiuni pe o cale modificată simultan, care a fost incorectă.
  • Comanda punctului de control "git rapid-import" nu a dezinstalat actualizările de refacere și de marcare dacă nu a fost creat cel puțin un obiect de la ultimul punct de control care a fost corectat, deoarece aceste lucruri se pot întâmpla fără crearea unui nou obiect.
  • Scripturile pentru a conduce TravisCI au fost reorganizate și apoi a fost implementată o optimizare pentru a evita ciclurile de cheltuieli pe o ramură a cărei vârf este etichetat.
  • "git fetch:" permite un nume de obiect pe lateral atunci când cealaltă parte acceptă o astfel de solicitare de la Git v2.5, dar documentația a rămas învechită.
  • O regresie în 2.11 care a făcut codul să citească lista de magazine de obiecte alternative care depășesc sfârșitul șirului a fost rezolvată.

Ce este nou în versiunea 2.15.1:

  • O funcție de ajutor pentru a citi o singură linie întreagă în strbuf a declanșat greșit eroarea OOM la EOF în anumite condiții, care a fost fixată.
  • Pe lângă "cc: # cruft", "cc: a.dd.re.ss # cruft" a fost invatat sa "git send-email" ca modalitate validă de a le spune că trebuie să trimită și o copie de carbon în secțiunea trailer.
  • Fixați regresia la "gitk --bisect" de o actualizare recentă.
  • Spre deosebire de "git commit-tree & lt; lt; fișier "," git commit-tree -F file " nu a trecut verbatim conținutul dosarului și a completat o linie incompletă la sfârșit, dacă există. Acesta din urmă a fost actualizat pentru a corespunde comportamentului acestuia.
  • "arhiva git", mai ales atunci când este utilizat cu pathspec, a stocat un director gol în ieșirea sa, chiar dacă Git însăși nu face acest lucru. Acest lucru a fost rezolvat.
  • Protecție împotriva erorilor API, care se întâmplă, de asemenea, să șocheteze avertismentele de la GCC.
  • "git gc" încearcă să evite rularea a două instanțe în același timp prin citirea și scrierea fișierului pid / host din și în fișierul de blocare; a folosit pentru a utiliza un format incorect fscanf () la citire, care a fost corectat.
  • Linterul de testare a fost învățat că nu ne place "ecou -e".
  • Codul cmp.std.c nitpick.
  • "git describe --match" sa învățat să ia mai multe modele în seria v2.13, dar caracteristica a ignorat modelele după prima și nu a funcționat deloc. Acest lucru a fost rezolvat.
  • "git cat-file - textconv" a început să se întâlnească recent, care a fost corectată.
  • Modelul încorporat pentru a detecta "antetul funcției" pentru HTML nu se potrivesc .. elementele fără atribute care au fost fixate.
  • "git mailinfo" a pierdut în decodare citat imprimabile și a produs gunoi atunci când cele două litere după semnul egal nu sunt hexazecimal. Acest lucru a fost rezolvat.
  • Documentația pentru "-X" pentru fuziuni a fost scrisă în mod înșelător pentru a sugera că "-s-urile lor" există, ceea ce nu este cazul.
  • Spell numele sistemului nostru ca "Git" în ieșirea din scriptul request-pull.
  • Remediază o serie de probleme de acces la memorie identificate de valgrind.
  • Backports un echivalent moral de 2015 fixa la emulația pollului de la gnulib în amonte pentru a repara spargere ocazională pe HPE NonStop.
  • În formatul "- format = ..." opțiunea pentru "git for-each-ref" comanda (și prietenii săi, adică modul de listare a "ramurii / etichetei" git), "% (atom:)" (de exemplu, "% (refname:)", "% (body:)" folosite pentru a eroare.În schimb, le tratați ca și cum colonul și un șir gol care îl urmează nu au fost acolo.
  • Utilizatorii cu "color.ui = always" în configurația lor au fost rupte de o schimbare recentă care a făcut comenzile de instalare să le acorde atenție ca plasturele creat intern de către "git add -p" au fost colorate (heh) și au devenit inutilizabile. Acest lucru a fost rezolvat.
  • "ramură git -M a b" în timp ce pe o ramură care nu are nici o legătură cu nici o ramură a, fie cu ramura b a fost greșită atunci când s-au folosit mai multe locuri de muncă. Acest lucru a fost rezolvat.
  • "git rapid-export" cu opțiunea -M / -C emise "copie" instrucțiuni pe o cale modificată simultan, care a fost incorectă.
  • Comanda punctului de control "git rapid-import" nu a dezinstalat actualizările de refacere și de marcare dacă nu a fost creat cel puțin un obiect de la ultimul punct de control care a fost corectat, deoarece aceste lucruri se pot întâmpla fără crearea unui nou obiect.
  • Scripturile pentru a conduce TravisCI au fost reorganizate și apoi a fost implementată o optimizare pentru a evita ciclurile de cheltuieli pe o ramură a cărei vârf este etichetat.
  • "git fetch:" permite un nume de obiect pe lateral atunci când cealaltă parte acceptă o astfel de solicitare de la Git v2.5, dar documentația a rămas învechită.
  • O regresie în 2.11 care a făcut codul să citească lista de magazine de obiecte alternative care depășesc sfârșitul șirului a fost rezolvată.

Ce este nou în versiunea 2.15.0:

  • O funcție de ajutor pentru a citi o singură linie întreagă în strbuf a declanșat greșit eroarea OOM la EOF în anumite condiții, care a fost fixată.
  • Pe lângă "cc: # cruft", "cc: a.dd.re.ss # cruft" a fost invatat sa "git send-email" ca modalitate validă de a le spune că trebuie să trimită și o copie de carbon în secțiunea trailer.
  • Fixați regresia la "gitk --bisect" de o actualizare recentă.
  • Spre deosebire de "git commit-tree & lt; lt; fișier "," git commit-tree -F file " nu a trecut verbatim conținutul dosarului și a completat o linie incompletă la sfârșit, dacă există. Acesta din urmă a fost actualizat pentru a corespunde comportamentului acestuia.
  • "arhiva git", mai ales atunci când este utilizat cu pathspec, a stocat un director gol în ieșirea sa, chiar dacă Git însăși nu face acest lucru. Acest lucru a fost rezolvat.
  • Protecție împotriva erorilor API, care se întâmplă, de asemenea, să șocheteze avertismentele de la GCC.
  • "git gc" încearcă să evite rularea a două instanțe în același timp prin citirea și scrierea fișierului pid / host din și în fișierul de blocare; a folosit pentru a utiliza un format incorect fscanf () la citire, care a fost corectat.
  • Linterul de testare a fost învățat că nu ne place "ecou -e".
  • Codul cmp.std.c nitpick.
  • "git describe --match" sa învățat să ia mai multe modele în seria v2.13, dar caracteristica a ignorat modelele după prima și nu a funcționat deloc. Acest lucru a fost rezolvat.
  • "git cat-file - textconv" a început să se întâlnească recent, care a fost corectată.
  • Modelul încorporat pentru a detecta "antetul funcției" pentru HTML nu se potrivesc .. elementele fără atribute care au fost fixate.
  • "git mailinfo" a pierdut în decodare citat imprimabile și a produs gunoi atunci când cele două litere după semnul egal nu sunt hexazecimal. Acest lucru a fost rezolvat.
  • Documentația pentru "-X" pentru fuziuni a fost scrisă în mod înșelător pentru a sugera că "-s-urile lor" există, ceea ce nu este cazul.
  • Spell numele sistemului nostru ca "Git" în ieșirea din scriptul request-pull.
  • Remediază o serie de probleme de acces la memorie identificate de valgrind.
  • Backports un echivalent moral de 2015 fixa la emulația pollului de la gnulib în amonte pentru a repara spargere ocazională pe HPE NonStop.
  • În formatul "- format = ..." opțiunea pentru "git for-each-ref" comanda (și prietenii săi, adică modul de listare a "ramurii / etichetei" git), "% (atom:)" (de exemplu, "% (refname:)", "% (body:)" folosite pentru a eroare.În schimb, le tratați ca și cum colonul și un șir gol care îl urmează nu au fost acolo.
  • Utilizatorii cu "color.ui = always" în configurația lor au fost rupte de o schimbare recentă care a făcut comenzile de instalare să le acorde atenție ca plasturele creat intern de către "git add -p" au fost colorate (heh) și au devenit inutilizabile. Acest lucru a fost rezolvat.
  • "ramură git -M a b" în timp ce pe o ramură care nu are nici o legătură cu nici o ramură a, fie cu ramura b a fost greșită atunci când s-au folosit mai multe locuri de muncă. Acest lucru a fost rezolvat.
  • "git rapid-export" cu opțiunea -M / -C emise "copie" instrucțiuni pe o cale modificată simultan, care a fost incorectă.
  • Comanda punctului de control "git rapid-import" nu a dezinstalat actualizările de refacere și de marcare dacă nu a fost creat cel puțin un obiect de la ultimul punct de control care a fost corectat, deoarece aceste lucruri se pot întâmpla fără crearea unui nou obiect.
  • Scripturile pentru a conduce TravisCI au fost reorganizate și apoi a fost implementată o optimizare pentru a evita ciclurile de cheltuieli pe o ramură a cărei vârf este etichetat.
  • "git fetch:" permite un nume de obiect pe lateral atunci când cealaltă parte acceptă o astfel de solicitare de la Git v2.5, dar documentația a rămas învechită.
  • O regresie în 2.11 care a făcut codul să citească lista de magazine de obiecte alternative care depășesc sfârșitul șirului a fost rezolvată.

Ce este nou în versiunea 2.14.1:

  • ssh: //..." Adresa URL din Git v2.7.6

Ce este nou în versiunea 2.9.3:

  • * O funcție de ajutor care prelucrează conținutul unui obiect de comitet și își găsește linia de subiect nu a ignorat linii goale, așa cum se face de obicei prin alte moduri de codare. Faceți-o ignorată pentru a se potrivi cu linii goale.
  • Git nu știe ce ar trebui să conțină conținutul din index pentru o cale adăugată cu "git add -N", așa că "git grep -cached" nu ar trebui să afișeze hit-uri (sau să arate lipsa de hit-uri, cu -L ) într-o astfel de cale, dar această logică nu se aplică la "git grep", adică căutarea în fișierele copacului de lucru. Dar am făcut-o din greșeală, care a fost corectată.
  • "git rebase -i --autostash" nu a restabilit modificarea automată a blocării atunci când operația a fost întreruptă.
  • "git commit - amend --allow-empty-message -S" pentru o comitet fără nici un corp de mesaj ar putea fi identificat greșit unde se termină antetul obiectului commit.
  • Mai multe actualizări de marcare pentru șirul de caractere care se așteaptă să fie tipărite literal de către utilizatorul final în fonturi cu lățime fixă.
  • Pentru o lungă perioadă de timp, am efectuat un comentariu în cod care a spus că producția colorată va funcționa numai atunci când vom folosi fprintf / fputs pe Windows, ceea ce nu mai este cazul în ultimii ani.
  • "gc.autoPackLimit" atunci când este setat la 1 nu ar trebui să declanșeze o reambalare când există doar un pachet, dar codul a fost numărat prost și a făcut acest lucru.
  • O parte din "git am" a avut o funcție de ajutoare care a numit chestii din afară "lui", spre deosebire de a numi ceea ce avem "a noastră", care nu era neutră din punct de vedere al genului și, de asemenea, incompatibilă cu restul sistemului lucrurile din exterior sunt denumite "a lor" în contrast cu "ale noastre".
  • Cadrul de testare a învățat un nou test_match_signal pentru a verifica dacă un cod de ieșire a fost ucis de un semnal așteptat.
  • "git blame -M" a ratat o singură linie care a fost mutată în fișier.
  • Fixați cursurile de cod introduse recent introduse în operații paralele de submodule, care au renunțat la lectură prea devreme și ar fi putut să-și piardă procesorul în timp ce încercau să scrie în condiții de colț.
  • "git grep -i" a fost învățat să folosească cazul în locații locale non-ascii în mod corect.
  • Un test care a folosit necondiționat "mktemp" a aflat că comanda nu este neapărat disponibilă peste tot.
  • Fișierul "git blame" a permis ca linia de linii din conținutul necondiționat, neaderent al "fișierului" să fie inspectată, dar a refuzat atunci când "fișierul" nu a apărut în comitetul curent. Când "fișierul" a fost creat prin redenumirea unui fișier existent (dar schimbarea nu a fost angajată), această restricție a fost inutil de strânsă.
  • "git adăugați -N dir / file & amp; & git write-tree" a produs un copac incorect atunci când există alte căi în același director care sortează după "file".
  • "git retrievează http: // user: pass @ host / repo ..." a scuturat partea userinfo, dar "git push" nu a făcut acest lucru.
  • A fost rezolvată o eroare veche care a cauzat o eroare "git diff -ignore-space-to-eol"
  • "git note merge" a avut un cod pentru a vedea dacă există o cale (și eșuează dacă apare) și apoi deschide calea pentru scriere (atunci când nu). Înlocuiți-l cu deschis cu O_EXCL.
  • "git pack-objects" și "git index-pack" funcționează mai mult cu off_t atunci când vorbește despre compensarea obiectelor într-un pachet de pachete, dar au existat o mână de locuri care au folosit "unsigned long" la o trunchiere neintenționată.
  • Actualizarea recentă a "daunelor git" încearcă să activeze KEEPALIVE la nivel de socket, dar când este lansată prin inetd, este posibil ca descrierea standard a fișierului de intrare să nu fie neapărat conectată la o socket. Suprimați o eroare ENOTSOCK de la setockopt ().
  • FreeBSD recent a încetat să producă perl la / usr / bin / perl; comutați implicit calea încorporată la / usr / local / bin / perl pe lansările FreeBSD prea vechi.
  • "starea git" a învățat să sugereze "îmbinare - abort" în timpul unei îmbinări conflictuale, la fel cum deja sugerează "rebase - abort" în timpul unei rebase conflictuale.
  • Sursele .c / .h sunt marcate ca atare în fișierul .gitattributes astfel încât "git diff -W" și prietenii să funcționeze mai bine.
  • Existența testului autoconf generat pentru necesitatea conectării cu biblioteca pthread nu a verificat toate funcțiile din bibliotecile pthread; FreeBSD recent are câteva funcții în libc, dar nu și pe alții, și ne-am gândit în mod greșit că legarea cu libc este suficientă atunci când nu este.
  • Permiteți testele http daemon în testele Travis CI.
  • Utilizatorii funcției API parse_options_concat () trebuie să aloce în prealabil sloturile suplimentare și să le completeze cu OPT_END () atunci când doresc să decidă dinamic setul de opțiuni acceptate, ceea ce face ca codul să fie greșit de citit și greșit de citit. Acest lucru a fost corectat prin ajustarea API-ului pentru alocarea și returnarea unei noi copii a matricei "struct option".
  • Utilizarea lui strbuf în "git rm" pentru a construi un nume de fișier pentru a elimina a fost un pic suboptimal, care a fost fixat.
  • "git commit --help" a spus "--no-verify" este doar despre săriturarea cârligului de pre-comitere și nu a reușit să spună că a omis și cârligul de comitere.
  • "Git merge" în Git v2.9 a fost învățat să interzică fuzionarea în mod implicit a unor linii de istorie fără legătură, dar tocmai acest lucru este modul "--rejoin" al "subtreei git" (în contrib /) vrea să facă. "subtree git" a fost învățat să folosească opțiunea "--allow-non-history-history" pentru a suprascrie implicit.
  • Procedura de construire a ajutorului "git persistent-https" (în contrib /) a fost actualizată astfel încât să poată fi construită cu versiuni mai recente ale Go.
  • Există o optimizare folosită în "git diff $ treeA $ treeB" pentru a împrumuta o copie deja verificată în copacul de lucru atunci când se știe că este aceeași cu cea a comparatorului, așteptând ca deschiderea / mmap astfel un fișier este mai rapid decât citirea lui din magazinul de obiecte, ceea ce implică umflarea și aplicarea deltei. Totuși, acest lucru a dat naștere chiar și atunci când copia verificată trebuie să treacă prin conversia convert la git (inclusiv filtrul curat), care învinge întregul punct al optimizării. Optimizarea a fost dezactivată atunci când conversia este necesară.
  • "git -c grep.patternType = jurnal extins - bas-regexp" greșit pentru că API-ul intern pentru accesarea mașinilor grep nu a fost proiectat bine.
  • Portul Windows nu a reușit să facă unele teste în t4130, din cauza lipsei de inum în valorile returnate prin emularea lui lstat (2).
  • Caracterele din eticheta afișate pentru etichete / refăcitoare pentru comitete în ieșirea "gitweb" sunt acum scoase corect pentru o ieșire HTML corespunzătoare.
  • FreeBSD se poate afla la întrebarea mtime a unui director, ceea ce a făcut ca codul cache netracked să se întoarcă într-o cale lentă, ceea ce la rândul lui a provocat testele t7063 să eșueze deoarece dorea să verifice comportamentul căii rapide.
  • Avertismentele compilatorului Squelch pentru biblioteca netmalloc (în compat /).
  • Documentația API pentru hashmap nu a fost clară dacă hashmap_entry poate fi aruncat în siguranță fără alte considerații. Menționați că este sigur să faceți acest lucru.
  • Rescrierea nu prea recentă a "git am" care a început să efectueze apeluri interne în mașinile de comitet a avut o regresie neintenționată, în sensul că indiferent câte secunde a fost necesar pentru a aplica mai multe patch-uri, au fost la fel.
  • "git difftool ..." început într-un subdirector nu a reușit să interpreteze căile relative la acel director, care a fost fixat.

Ce este nou în versiunea 2.9.1:

  • Când "git daemon" este rulat fără a fi specificat [timeout], o conexiune de la un client care în mod silențios se deconectează se poate agăța de mult timp, pierzând resurse. KEEPALIVE la nivel de socket a fost activat pentru a permite sistemului de operare să observe astfel de conexiuni eșuate.
  • Comenzile din familia `git log` iau% C (auto) într-un șir de format personalizat. Acest lucru a condus necondiționat culoarea, ignorând --no-color sau cu -color = auto atunci când ieșirea nu este conectată la un tty; acest lucru a fost corectat pentru a face ca formatul să se comporte cu adevărat ca "auto".
  • "git rev-list --count" a cărui lungime de acces este limitată cu opțiunea "-n" nu a funcționat bine cu numărarea optimizată pentru a privi indicele bitmap.
  • "git show -W" (extindeți hunks pentru a acoperi întreaga funcție, delimitată de liniile care se potrivesc cu modelul "funcname") folosit pentru a afișa întregul fișier atunci când o modificare a adăugat o întreagă funcție la sfârșitul fișierului a fost fixat.
  • Setul de documentație a fost actualizat astfel încât comenzile literale, variabilele de configurare și variabilele de mediu să fie tipărite în mod constant în fonturi cu lățime fixă ​​și cu caractere aldine în manuale.
  • Subcomandajul "git svn propset" adăugat în 2.3 zile este documentat acum.
  • Documentația încearcă să scrie în mod constant "GPG"; când se face referire la denumirea programului specific, se utilizează "gpg".
  • "git reflog" sa oprit când a văzut o intrare care denotă un eveniment de creare a unei sucursale (aka "unborn"), ceea ce a făcut ca aceasta să apară ca și cum reflogul ar fi fost trunchiat.
  • Scriptul de tip git-prompt (în contrib /) nu a fost prietenos cu cei care utilizează "set -u", care a fost fixat.
  • A fost actualizată o cale de codare care a folosit alloca (3) pentru a plasa o cantitate nelimitată de date pe stivă, pentru a evita acest lucru.
  • "git update-index -add -chmod = + fișierul x" poate fi utilizabil ca un hatch de evacuare, dar nu este un lucru prietenos de forță pentru persoanele care au nevoie să-l folosească în mod regulat. "git add --chmod = + x file" poate fi folosit în schimb.
  • Creați îmbunătățiri pentru gnome-keyring (în contrib /)
  • "starea git" folosit pentru a spune "director de lucru" atunci când a însemnat "arbore de lucru".
  • Comentariile despre erupțiile libere ale FreeBSD au fost clarificate cu numărul versiunii (9.x și înainte sunt rupte, cele mai noi sunt OK).
  • "git cireș-pick A" a lucrat pe o ramură nenăscută, dar "git cherry-pick A..B" nu a făcut-o.
  • "git add -i / -p" a învățat să onoreze diff.compactionBuurul experimental heuristic, astfel încât utilizatorul să poată lucra pe aceeași divizare hunk ca ieșire "git diff".
  • "log -graph -format =" a aflat că "%> (N)" specifică lățimea față de marginea stângă a terminalului, nu în raport cu zona de trasare a textului care este în partea dreaptă a strămoșilor -grafie secțiune. De asemenea, acum acceptă negativ N, ceea ce înseamnă că limita coloanei este relativă la marginea din dreapta.
  • Regula de proprietate pentru piesa de memorie care deține referințe pentru a fi preluată în "git fetch" a fost înșelătoare, care a fost curățată.
  • "git bisect" face un apel intern la "git diff-tree" atunci când bisecția găsește vinovatul, dar acest apel nu a inițializat structura de date pentru a trece corect la API diff-tree.
  • Formatele diferitelor date (și modul de validare a acestora) în care folosim semnătură GPG au fost documentate.
  • Fixați o regresie neintenționată în v2.9 care rupe "clone -depth" care revine la submodule, forțând submodulele să fie deasemenea clonate, ceea ce multe instanțe server care găzduiesc în amonte de submodule nu sunt pregătite pentru
  • Fixați pierderile inutile în utilizarea idiomatică a ': $ {VAR = default}' pentru a seta valoarea implicită, fără a o include în ghilimele duble.
  • Unele coduri specifice platformei au avut declarații stricte non-ANSI ale funcțiilor C care nu iau niciun parametru care a fost corectat.
  • Codul intern folosit pentru a afișa offsetul fusului orar local nu este pregătit să se ocupe de marcajele de timp dincolo de anul 2100 și a dat o valoare falsă de compensare apelantului. Utilizați o locație mai bună în loc de +0000 și lăsați "git log" să meargă într-un astfel de caz, în loc de a întrerupe.
  • Una dintre cele patru invocări ale readlinkului (1) din suita noastră de testare a fost rescrisă pentru ca testul să ruleze pe sisteme fără comanda (altele se află în cadrul testului valgrind și t9802).
  • t / perf are nevoie / usr / bin / time cu extensia GNU; invocarea lui este actualizată la "gtime" pe Darwin.
  • A fost corectată o eroare care a provocat incorect codul "git p4" în timp ce rulează în modul verbose pentru a raporta căile care au fost omise din cauza prefixului ramurii; comanda a spus "Ignorarea fișierului în afara prefixului" pentru căile care sunt _inside _.
  • Documentația de nivel superior "git help git" a indicat încă setul de documentație găzduit la depozitul de coduri Google-code defunct. Actualizați-l pentru a indica https://git.github.io/htmldocs/git.html.

Ce este nou în versiunea 2.9.0:



Nou în GIT 2.8.1 (5 aprilie 2016)

Ce este nou în versiunea 2.8.1:

  • Obiectivul "make rpmbuild" a fost rupt deoarece intrarea lui, git.spec.in, nu a fost actualizată pentru a se potrivi cu un fișier pe care îl descrie, care a fost redenumit recent. Acest lucru a fost rezolvat.

Ce este nou în versiunea 2.7.3:

  • În mod tradițional, testele care încearcă comenzi care funcționează pe conținutul arborelui de lucru au fost denumite cu "worktree" în numele de fișiere, dar cu adăugarea recentă a subcomandajului "git worktree", ale cărui teste sunt denumite, de asemenea, în mod similar devin mai greu de spus. Testele tradiționale au fost redenumite pentru a folosi "copacul de muncă" în încercarea de a le diferenția.
  • Multe runde de coduri uită să controleze valoarea returnată de la git_config_set (); funcția este făcută să moară () pentru a ne asigura că nu vom continua atunci când setarea unei variabile de configurare a eșuat.
  • Manipularea erorilor în timp ce scriem în procesul nostru intern asincron a fost făcută mai robustă, ceea ce reduce amploarea testelor noastre.
  • "git show" HEAD: Foo [BAR] Baz "nu a interpretat argumentul ca rev, adică obiectul numit cu numele de cale cu caractere tip wildcard într-un obiect copac.
  • "git rev-parse - git-common-dir" folosit în caracteristica worktree este greșit atunci când este rulat dintr-un subdirector.
  • Subcomandarea "v (iew)" a comenzii interactive "git am -i" a fost ruptă în intervalul 2.6.0 când comanda a fost rescrisă în C.
  • "git merge-tree" folosit pentru a manipula greșelile "conflictul dintre cele două părți" a fost "creați un fișier de strămoși fals, care are părțile comune ale ceea ce au adăugat ambele părți și a face o logică 3-way merge"; acest lucru a fost actualizat pentru a utiliza "îmbinarea în 3 direcții cu o blob goală ca fișier de părinte fals comun" folosită în restul sistemului.
  • Regula de proprietate a memoriei API-ului fill_textconv (), care a fost puțin complicată, a fost documentată puțin mai bine.
  • Documentația nu a indicat în mod clar că modul "simplu" este acum implicit pentru "git push" când configurația push.default nu este setată.
  • Versiunile recente ale GNU grep sunt pickier atunci când intrarea lor conține date binare arbitrare, pe care le folosesc unele dintre testele noastre. Rescrieți testele pentru a evita problema.
  • O funcție de ajutor "git submodule" folosește de la v2.7.0 pentru a lista modulele care corespund argumentului pathspec dat subcomandelor sale (de ex., "submodule add").
  • "git config section.var value" pentru a seta o valoare în fișierul de configurare per-repository a eșuat când a fost rulat în afara vreunui depozit, dar nu a spus motivul corect.
  • Codul de citire a datelor de pachet folosind offseturile stocate în fișierul idx al pachetului a fost făcut mai atent pentru a verifica validitatea datelor în idx.

Ce este nou în versiunea 2.7.2:

  • Mașinile de îmbinare la nivel inferior au fost învățate să utilizeze terminarea liniei CRLF atunci când inseră marcatori de conflicte în conținuturi care au fuzionat și care sunt ei înșiși CRLF terminate.
  • "git worktree" a avut un cod rupt care a încercat să se autoreflecteze posibila incoerență care rezultă din faptul că utilizatorii finali se deplasează într-un loc de muncă în locuri diferite, fără să spună Git (depozitul original trebuie să mențină puncte de backpointer la worktrees, dar "mv" rulați de utilizatorii finali care nu sunt familiarizați cu acest fapt, evident că nu le vor ajusta), ceea ce, de fapt, a agravat lucrurile atunci când a fost declanșat.
  • "git push - force-with-lease" a fost predat pentru a raporta dacă împingerea a fost necesară pentru a forța (sau a redirecționa rapid).
  • Comanda "yes" folosită în script-urile noastre de test a fost optimizată pentru a nu cheltui prea mult timp generând ieșiri inutile care nu sunt folosite, pentru a ajuta pe cei care testează pe Windows unde nu s-ar opri până când nu se umple la lipsa SIGPIPE.
  • Backend-ul vimdiff pentru "git mergetool" a fost optimizat pentru aranjarea și numerele de tampoane în ordinea care ar corespunde așteptărilor majorității persoanelor care citesc din stânga în dreapta, apoi în sus și alocă tampoane 1 2 3 4 "mental" la baza de date locală bazată pe această comandă.
  • Documentația pentru "git clean" a fost corectată; a menționat că .git / modules / * sunt eliminate, oferindu-le două "-f", care nu a fost niciodată cazul.
  • Calele despre care sa spus despre index cu "add -N" nu sunt încă în index, dar câteva comenzi s-au comportat ca și cum ar fi deja într-un mod dăunător.
  • include, de asemenea, o mică documentație și actualizări de test.

Ce este nou în versiunea 2.6.4:

  • Scriptul "configure" nu a testat -lpthread corect, ceea ce a deranjat niște legături.
  • Adăugați suport pentru conversația http / https pe proxy-ul sosetelor.
  • Figura de fixare pentru Windows, care poate rescrie variabila $ SHELL folosind căi non-POSIX.
  • Acum permitem în mod constant tuturor cârligelor să ignore intrarea lor standard, mai degrabă decât să se plângă de SIGPIPE.
  • Fixați cotația shell-ului în scriptul de contribuție.
  • Fixați testul de portabilitate pentru un subiect în v2.6.1.
  • Permite expansiunea tilde în unele variabile http config.
  • Dați un caz special special "diff / show --word-diff-regex =." ca exemplu în documentație.
  • Fixați pentru un colț din ramura filtrului.
  • Faceți git-p4 să lucreze pe un cap detașat.
  • Clarificarea documentației pentru "check-ignore" fără "--verbose".
  • La fel ca arborele de lucru să fie curățat atunci când utilizatorul a anulat trimiterea în P4Submit.applyCommit (), curățați mizeria dacă "p4 submit" eșuează.
  • Având un fișier .idx rămas fără fișierul .pack corespunzător din depozit, doare performanța; "git gc" a învățat să le prădacă.
  • Codul de pregătire a arborelui de lucru al directorului temporar pentru caracteristica "dir-diff" a uitat că legăturile simbolice nu trebuie copiate (sau simbolice) în zona temporară, deoarece codul deja conține cazuri speciale și suprascrie lor. În plus, a fost greșit să încercați să calculați numele obiectului țintă a legăturii simbolice, care poate să nu existe sau să fie un director.
  • Nu a existat nici o modalitate de a învinge o variabilă rebase.autostash configurată din linia de comandă, deoarece lipsea "git rebase --no-autostash".
  • Permiteți "git interpret-trailers" să ruleze în afara unui depozit Git.
  • Creați marker corect "murdar" pentru instrucțiunile shell, chiar dacă suntem pe o ramură orfană sau o ramură nenăscută.
  • Unele cazuri de colț au fost fixate în potrivirea șirului de caractere executate în "stare git".
  • Implementarea comună a criptării Apple a SHA1_Update () nu durează mai mult de 4 GB la un moment dat și acum avem o soluție de compilare a timpului pentru aceasta.

Ce este nou în versiunea 2.5.3:

  • Caracteristica experimentală cache netracked a fost buggy atunci când sunt implicate căi cu câteva niveluri de subdirectoare.
  • Versiunile recente ale "git am" scripted au o regresie a performanței în calea de coduri "git am - skip", care nu mai există în versiunea încorporată pe frontul "master". Remediați regresia în ultima versiune scripted care apare în pista de întreținere 2.5.x și mai veche.

Ce este nou în versiunea 2.4.6:

  • "git fetch --depth =" și "git clone --depth =" a emis o cerere de transfer superficială chiar și unui pachet de încărcare care nu suportă capacitatea.
  • "git fsck" folosit pentru a ignora obiectele lipsă sau invalide înregistrate în reflog.
  • Completarea tcsh scrie un scripth bash, dar acest lucru ar fi eșuat pentru utilizatorii cu set de nopți.
  • Actualizările recente Mac OS X întrerupe logica pentru a detecta faptul că aparatul este în curent alternativ în proba de pre-auto-gc.
  • "git format-patch --ignore-if-upstream A..B" nu i-ar plăcea să fie hrănit tag-uri ca comitere de frontieră.
  • conține, de asemenea, tipofixe, actualizări de documentație și cod trivial
  • operațiuni de curățare.

Ce este nou în versiunea 2.4.2:

  • "git rev-list --objects $ old --not --all" pentru a vedea dacă tot ce este accesibil din $ old este deja conectat la refs existente a fost foarte ineficient.
  • "hash-object -literally" introdus în v2.2 nu a fost pregătit să ia un nume de tip de obiect cu adevărat lung.
  • "git rebase - quiet" nu a fost destul de liniștit când nu este nimic de făcut.
  • Completarea valorii parametrului "log -decorate =" a fost incorectă.
  • mesajul "jurnal de corupție" filtru-ramificație care se termină cu o linie incompletă pe platforme cu unele implementări "sed" care execută o astfel de linie. Lucrați în jur prin evitarea utilizării "sed".
  • "git daemon" nu reușește să se construiască din sursă în conformitate cu configurația NO_IPV6 (regresie în 2.4).
  • "git stash pop / apply" a uitat să vă asigurați că nu numai copacul de lucru este curat, dar și indexul este curat. Acesta din urmă este important deoarece o aplicație stash poate conflict și indexul va fi folosit pentru rezolvarea conflictelor.
  • Am prefixat $ GIT_EXEC_PATH și calea "git" este instalată în (de obicei "/ usr / bin") în $ PATH atunci când invocă subprograme și cârlige aproape pentru eternitate, (de exemplu, instalați git în / opt / foo / git și rulați-l fără a avea / opt / foo pe $ PATH) și, mai important, a devenit din ce în ce mai puțin relevantă pe măsură ce Git a devenit mai important (adică utilizatorii ar avea pe $ PATH). Opriți prefixarea căii în care este instalat "git" pentru utilizatorii "$ PATH", deoarece ar interfera cu ordinea căutării comenzilor de care depind oamenii (de exemplu, este posibil să nu le placă versiunile de programe care nu au legătură cu Git în / usr / bin și doresc să să le înlocuiți prin a avea alte tipuri în / usr / local / bin și să aveți ultimul director anterior în $ PATH).
  • conține, de asemenea, tipofixe, actualizări de documentație și curățiri de coduri banale.

Software similare

git-sweep
git-sweep

14 Apr 15

hgcampfire
hgcampfire

15 Apr 15

coded4
coded4

14 Apr 15

Comentarii la GIT

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!