GIT

Software skärmdump:
GIT
Mjukvaruinformation:
Version: 2.16.0 Uppdaterad
Ladda upp dagen: 20 Jan 18
Utvecklare: Junio C Hamano
Licens: Gratis
Popularitet: 64

Rating: 3.0/5 (Total Votes: 1)

Git är ett av de mest använda distribuerade versionsstyrningssystemen, som beskrivs av utvecklare runt om i världen som den första VCS-tjänsten. Det går bara från terminal, men flera frontändar är tillgängliga för nedladdning.

Det är en gratis och öppen källversionsstyrsystem som kan hantera både stora och små projekt med maximal effektivitet och snabbhet. Programmet kan enkelt beskrivas som små, snabba och distribuerade.


Kommandoradsalternativ

Programmet levereras med en handfull kommandon som enkelt kan komma ihåg av någon från get-go. Alla operationer utförs lokalt och har konstruerats för att arbeta på Linux-kärnan.

Inkluderade kommandon är tillägg, bisect, gren, checkout, klon, commit, diff, hämta, grep, init, logga, slå samman, mv, dra, tryck, rebase, återställ, rm, visa, status och tagg. Du kan enkelt lära dig vad varje kommando gör genom att köra kommandot git - help från ett terminalfönster.


Funktioner i ett ögonkast

När du använder Git kan användare lägga till filer, checka ut filialer eller banor, klonregister, skapa tomma Git repos, gå med i flera utvecklingshistorier, visa status för arbetstree, spela in ändringar, samt skapa, lista eller radera filialer.

Dessutom tillåter applikationen användarna att visa ändringar mellan kommandon och träning, skriva ut rader som matchar ett mönster, visa commit-loggar, hämta domar och objekt, byta namn på eller flytta filer, symlinker och kataloger, uppdatera fjärrbedömningar och ta bort filer från ett fungerande träd.


Olika grafiska frontändar finns

Även om det bara är en kommandorad programvara, finns olika grafiska användargränssnitt (GUI), inklusive Git-Cola, SmartGit, GitEye, Giggle och Gitg. Projektet outclasses SCM (Software Configuration Management) verktyg, som CVS, Subversion, ClearCase och Perforce, genom att ha billig lokal förgrening, flera arbetsflöden och lämpliga platser för staging.


Slutsats

Sammanfattningsvis är Git ett gratis versionskontrollsystem med blixtsnabba prestanda, det är lätt att lära sig och har ett mycket litet fotavtryck. Med Git kan du göra friktionslös kontextbyte, rollbaserade kodlinjer, funktionsbaserat arbetsflöde och engångsexperiment.

Vad är nytt i den här utgåvan:

  • En hjälparfunktion för att läsa en enda hel rad i strbuf utlöst felaktigt OOM-fel vid EOF under vissa förutsättningar, vilket har fastställts.
  • Förutom "cc: # cruft", "cc: a@dd.re.ss # cruft" lärt sig att "git send-email" som ett giltigt sätt att berätta att det måste också skicka en kol kopia till i släpvagnssektionen.
  • Fixa regression till "gitk --bisect" genom en nyligen uppdaterad version.
  • Till skillnad från "git commit-tree & lt; fil "," git commit-tree -F file " Passerade inte innehållet i filen ordentligt och utförde i stället en ofullständig rad i slutet, om det existerar. Sistnämnda har uppdaterats för att matcha den förstnämnda beteendet.
  • "git arkiv", speciellt när den används med pathspec, lagrade en tom katalog i dess utmatning, även om Git själv aldrig gör det. Detta har blivit löst.
  • API-felsäkerhet, som råkar skingra varningar från GCC.
  • "git gc" försöker undvika att köra två instanser samtidigt genom att läsa och skriva pid / värd från och till en låsfil; Det brukade använda ett felaktigt fscanf () format vid läsning, vilket har korrigerats.
  • Testläraren har lärt sig att vi inte gillar "eko -e".
  • Kod cmp.std.c nitpick.
  • "git beskriver - match" lärt sig att ta flera mönster i v2.13-serien, men funktionen ignorerade mönstren efter den första och fungerade inte alls. Detta har blivit löst.
  • "git cat-file --textconv & quot; började segfaulting nyligen, vilket har korrigerats.
  • Det inbyggda mönstret för att detektera "funktionhuvudet" för HTML matchade inte ..element utan några attribut, vilket har fastställts.
  • "git mailinfo" var lös i avkodning citerad skrivbar och producerad sopor när de två bokstäverna efter likformen inte är hexadecimala. Detta har blivit löst.
  • Dokumentationen för "-X" för sammanslagningar har skrivits vilseledande för att ange att "deras" existerar, vilket inte är fallet.
  • Ställ namnet på vårt system som "Git" i utmatningen från request-pull script.
  • Lösningar för en handfull minnesåtkomstproblem identifierad av valgrind.
  • Backports en moralisk motsvarighet till 2015 fixar pollen emuleringen från uppströms gnulib för att fixa tillfälliga brott på HPE NonStop.
  • I & quot; - format = ... & quot; alternativet för "git för-varje-ref" kommandot (och dess kompisar, dvs noteringsläget för "git-gren / tagg"), "% (atom:)" (till exempel "% (refname:)", "% (body:)" används för att felsöka. Istället behandla dem som om kolon och en tom sträng som följer den inte var där.
  • Användare med "color.ui = alltid" i deras konfiguration bröts av en ny ändring som gjorde VVS-kommandon att uppmärksamma dem eftersom plåstret skapades internt av "git add -p" var färgade (heh) och gjorde oanvändbarhet. Detta har blivit löst.
  • "git-grenen -M en b" medan på en gren som är helt obesluten med antingen gren a eller gren b missteged när flera arbetsbitar var i bruk. Detta har blivit löst.
  • "git snabb export" med -M / -C alternativ utfärdad "kopiera" instruktion på en väg som samtidigt ändras, vilket var felaktigt.
  • Kontrollpanelen kommandot "git fast-import & quot; spolade inte uppdateringar till refs och marks om inte minst ett objekt skapades sedan den sista kontrollpunkten, som har korrigerats, eftersom det här kan hända utan att något nytt objekt skapas.
  • Skripten för att driva TravisCI har omorganiserats och sedan har en optimering för att undvika att spendera cykler på en gren vars tagg taggats genomförts.
  • "git-hämtning:" tillåter ett objektnamn på sidan när den andra sidan accepterar en sådan förfrågan sedan Git v2.5, men dokumentationen lämnades inaktuell.
  • En regression i 2.11 som gjorde koden att läsa listan över alternativa objektaffärer översteg slutet på strängen har fastställts.

Vad är nytt i version 2.15.1:

  • En hjälparfunktion för att läsa en enda hel rad i strbuf utlöst felaktigt OOM-fel vid EOF under vissa förutsättningar, vilket har fastställts.
  • Förutom "cc: # cruft", "cc: a@dd.re.ss # cruft" lärt sig att "git send-email" som ett giltigt sätt att berätta att det måste också skicka en kol kopia till i släpvagnssektionen.
  • Fixa regression till "gitk --bisect" genom en nyligen uppdaterad version.
  • Till skillnad från "git commit-tree & lt; fil "," git commit-tree -F file " Passerade inte innehållet i filen ordentligt och utförde i stället en ofullständig rad i slutet, om det existerar. Sistnämnda har uppdaterats för att matcha den förstnämnda beteendet.
  • "git arkiv", speciellt när den används med pathspec, lagrade en tom katalog i dess utmatning, även om Git själv aldrig gör det. Detta har blivit löst.
  • API-felsäkerhet, som råkar skingra varningar från GCC.
  • "git gc" försöker undvika att köra två instanser samtidigt genom att läsa och skriva pid / värd från och till en låsfil; Det brukade använda ett felaktigt fscanf () format vid läsning, vilket har korrigerats.
  • Testläraren har lärt sig att vi inte gillar "eko -e".
  • Kod cmp.std.c nitpick.
  • "git beskriver - match" lärt sig att ta flera mönster i v2.13-serien, men funktionen ignorerade mönstren efter den första och fungerade inte alls. Detta har blivit löst.
  • "git cat-file --textconv & quot; började segfaulting nyligen, vilket har korrigerats.
  • Det inbyggda mönstret för att detektera "funktionhuvudet" för HTML matchade inte ..element utan några attribut, vilket har fastställts.
  • "git mailinfo" var lös i avkodning citerad skrivbar och producerad sopor när de två bokstäverna efter likformen inte är hexadecimala. Detta har blivit löst.
  • Dokumentationen för "-X" för sammanslagningar har skrivits vilseledande för att ange att "deras" existerar, vilket inte är fallet.
  • Ställ namnet på vårt system som "Git" i utmatningen från request-pull script.
  • Lösningar för en handfull minnesåtkomstproblem identifierad av valgrind.
  • Backports en moralisk motsvarighet till 2015 fixar pollen emuleringen från uppströms gnulib för att fixa tillfälliga brott på HPE NonStop.
  • I & quot; - format = ... & quot; alternativet för "git för-varje-ref" kommandot (och dess kompisar, dvs noteringsläget för "git-gren / tagg"), "% (atom:)" (till exempel "% (refname:)", "% (body:)" används för att felsöka. Istället behandla dem som om kolon och en tom sträng som följer den inte var där.
  • Användare med "color.ui = alltid" i deras konfiguration bröts av en ny ändring som gjorde VVS-kommandon att uppmärksamma dem eftersom plåstret skapades internt av "git add -p" var färgade (heh) och gjorde oanvändbarhet. Detta har blivit löst.
  • "git-grenen -M en b" medan på en gren som är helt obesluten med antingen gren a eller gren b missteged när flera arbetsbitar var i bruk. Detta har blivit löst.
  • "git snabb export" med -M / -C alternativ utfärdad "kopiera" instruktion på en väg som samtidigt ändras, vilket var felaktigt.
  • Kontrollpanelen kommandot "git fast-import & quot; spolade inte uppdateringar till refs och marks om inte minst ett objekt skapades sedan den sista kontrollpunkten, som har korrigerats, eftersom det här kan hända utan att något nytt objekt skapas.
  • Skripten för att driva TravisCI har omorganiserats och sedan har en optimering för att undvika att spendera cykler på en gren vars tagg taggats genomförts.
  • "git-hämtning:" tillåter ett objektnamn på sidan när den andra sidan accepterar en sådan förfrågan sedan Git v2.5, men dokumentationen lämnades inaktuell.
  • En regression i 2.11 som gjorde koden att läsa listan över alternativa objektaffärer översteg slutet på strängen har fastställts.

Vad är nytt i version 2.15.0:

  • En hjälparfunktion för att läsa en enda hel rad i strbuf utlöst felaktigt OOM-fel vid EOF under vissa förutsättningar, vilket har fastställts.
  • Förutom "cc: # cruft", "cc: a@dd.re.ss # cruft" lärt sig att "git send-email" som ett giltigt sätt att berätta att det måste också skicka en kol kopia till i släpvagnssektionen.
  • Fixa regression till "gitk --bisect" genom en nyligen uppdaterad version.
  • Till skillnad från "git commit-tree & lt; fil "," git commit-tree -F file " Passerade inte innehållet i filen ordentligt och utförde i stället en ofullständig rad i slutet, om det existerar. Sistnämnda har uppdaterats för att matcha den förstnämnda beteendet.
  • "git arkiv", speciellt när den används med pathspec, lagrade en tom katalog i dess utmatning, även om Git själv aldrig gör det. Detta har blivit löst.
  • API-felsäkerhet, som råkar skingra varningar från GCC.
  • "git gc" försöker undvika att köra två instanser samtidigt genom att läsa och skriva pid / värd från och till en låsfil; Det brukade använda ett felaktigt fscanf () format vid läsning, vilket har korrigerats.
  • Testläraren har lärt sig att vi inte gillar "eko -e".
  • Kod cmp.std.c nitpick.
  • "git beskriver - match" lärt sig att ta flera mönster i v2.13-serien, men funktionen ignorerade mönstren efter den första och fungerade inte alls. Detta har blivit löst.
  • "git cat-file --textconv & quot; började segfaulting nyligen, vilket har korrigerats.
  • Det inbyggda mönstret för att detektera "funktionhuvudet" för HTML matchade inte ..element utan några attribut, vilket har fastställts.
  • "git mailinfo" var lös i avkodning citerad skrivbar och producerad sopor när de två bokstäverna efter likformen inte är hexadecimala. Detta har blivit löst.
  • Dokumentationen för "-X" för sammanslagningar har skrivits vilseledande för att ange att "deras" existerar, vilket inte är fallet.
  • Ställ namnet på vårt system som "Git" i utmatningen från request-pull script.
  • Lösningar för en handfull minnesåtkomstproblem identifierad av valgrind.
  • Backports en moralisk motsvarighet till 2015 fixar pollen emuleringen från uppströms gnulib för att fixa tillfälliga brott på HPE NonStop.
  • I & quot; - format = ... & quot; alternativet för "git för-varje-ref" kommandot (och dess kompisar, dvs noteringsläget för "git-gren / tagg"), "% (atom:)" (till exempel "% (refname:)", "% (body:)" används för att felsöka. Istället behandla dem som om kolon och en tom sträng som följer den inte var där.
  • Användare med "color.ui = alltid" i deras konfiguration bröts av en ny ändring som gjorde VVS-kommandon att uppmärksamma dem eftersom plåstret skapades internt av "git add -p" var färgade (heh) och gjorde oanvändbarhet. Detta har blivit löst.
  • "git-grenen -M en b" medan på en gren som är helt obesluten med antingen gren a eller gren b missteged när flera arbetsbitar var i bruk. Detta har blivit löst.
  • "git snabb export" med -M / -C alternativ utfärdad "kopiera" instruktion på en väg som samtidigt ändras, vilket var felaktigt.
  • Kontrollpanelen kommandot "git fast-import & quot; spolade inte uppdateringar till refs och marks om inte minst ett objekt skapades sedan den sista kontrollpunkten, som har korrigerats, eftersom det här kan hända utan att något nytt objekt skapas.
  • Skripten för att driva TravisCI har omorganiserats och sedan har en optimering för att undvika att spendera cykler på en gren vars tagg taggats genomförts.
  • "git-hämtning:" tillåter ett objektnamn på sidan när den andra sidan accepterar en sådan förfrågan sedan Git v2.5, men dokumentationen lämnades inaktuell.
  • En regression i 2.11 som gjorde koden att läsa listan över alternativa objektaffärer översteg slutet på strängen har fastställts.

Vad är nytt i version 2.14.1:

  • Detta släpper fram portar för åtgärden för & quot; ssh: //..." URL från Git v2.7.6

Vad är nytt i version 2.9.3:

  • * En hjälparfunktion som tar innehållet i ett commitobjekt och finner sin ämnesrad ignorerar inte ledande tomma linjer, vilket vanligtvis görs av andra kodposter. Gör det ignorera ledande tomma linjer att matcha.
  • Git vet inte vad innehållet i indexet ska vara för en sökväg som läggs till med "git add -N" ännu, så "git grep - cached" ska inte visa träffar (eller visa brist på träffar med -L ) i en sådan väg, men den logiken gäller inte "git grep", dvs att söka i träningsfilerna. Men det gjorde vi av misstag, vilket har rättats.
  • "git rebase -i --autostash" återställde inte den auto-stashed förändringen när operationen avbröts.
  • "git commit --amend --allow-empty-message -S" för ett commit utan någon meddelandekropp kunde ha felidentifierat där rubriken för commit-objektet slutar.
  • Mer markup-uppdateringar för typsträngar som förväntas bokstavligen skrivas av slutanvändaren i typsnitt med fast bredd.
  • Vi har länge haft en in-code-kommentar som säger att vår färgade utmatning bara skulle fungera när vi använder fprintf / fputs på Windows, vilket inte längre är fallet under de senaste åren.
  • "gc.autoPackLimit" när den är inställd på 1 ska inte utlösa ompaketering när det bara finns ett paket, men koden räknas dåligt och gjorde det.
  • En del av "git am" hade en oddballhjälperfunktion som kallade saker från utsidan "hans" i motsats till att kalla vad vi har "vårt", vilket inte var könsneutralt och också inkonsekvent med resten av systemet där yttre saker kallas vanligen "deras" i motsats till "vårt".
  • Testramen lärde sig en ny hjälptest_match_signal för att kontrollera en exitkod från att bli dödad av en förväntad signal.
  • "git blame -M" missade en enda rad som flyttades i filen.
  • Åtgärda nyligen introducerade codepaths som är involverade i parallell submodule-operationer, vilket gav upphov till läsning för tidigt, och kan ha spillt CPU samtidigt som man försöker skriva under ett hörnfallstillstånd.
  • "git grep -i" har blivit lärt att fälla fallet i non-ascii locales korrekt.
  • Ett test som villkorligt använt "mktemp" fick veta att kommandot inte nödvändigtvis är tillgängligt överallt.
  • "git blame file" tillåter linjelinjen i linjerna i det okomplicerade, ofyllda innehållet i "filen" som ska inspekteras, men det vägrade när "filen" inte visades i det aktuella commitet. När "fil" skapades genom att byta namn på en befintlig fil (men ändringen inte har begåtts), var denna begränsning onödigt tätt.
  • "git add -N dir / file & amp; git write-tree" gav ett felaktigt träd när det finns andra sökvägar i samma katalog som sorterar efter "fil".
  • "git hämta http: // användare: pass @ host / repo ..." skurde användarinfo-delen, men "git push" gjorde det inte.
  • En ålder gammal bugg som orsakade "git diff - signore-space-at-eol" felaktighet har blivit fixad.
  • "git notes sammanfoga" hade en kod för att se om en sökväg finns (och misslyckas om den gör det) och sedan öppna sökvägen (när den inte gör det). Byt ut det med öppet med O_EXCL.
  • "git pack-objects" och "git index-pack" arbetar oftast med off_t när man pratar om offset av objekt i en packfil, men det fanns en handfull platser som använde "unsigned long" för att hålla det värdet, vilket ledde till till en oavsiktlig avkortning.
  • Den senaste uppdateringen till "git daemon" försöker aktivera uttaget KEEPALIVE, men när det skapas via inetd kanske standardinmatningsfilbeskrivningen inte nödvändigtvis är ansluten till ett uttag. Undertryck ett ENOTSOCK-fel från setsockopt ().
  • Senaste FreeBSD slutade att göra perl tillgänglig på / usr / bin / perl; byt standard den inbyggda sökvägen till / usr / local / bin / perl på inte alltför gamla FreeBSD-utgåvor.
  • "git status" lärt sig att föreslå "fusion - off" under en konfliktfusion, precis som det redan föreslår "rebase -abort" under en konfliktfyllning.
  • .c / .h-källorna är markerade som sådana i vår .gitattributes-fil så att "git diff -W" och vänner skulle fungera bättre.
  • Befintlig autokonfgenererad test för behovet att länka till pthread-biblioteket kontrollerade inte alla funktioner från pthread-bibliotek; nyligen FreeBSD har några funktioner i libc men inte andra, och vi trodde felaktigt att länka med libc är tillräckligt när det inte är.
  • Tillåt http daemon tester i Travis CI test.
  • Användare av funktionen parse_options_concat () API måste tilldela extra slots i förväg och fylla dem med OPT_END () när de vill bestämma uppsättningen stödda alternativ dynamiskt, vilket gör att koden är felaktig och svår att läsa. Detta har korrigerats genom att tweak API för att allokera och returnera en ny kopia av "struct option" array.
  • Användningen av strbuf i "git rm" för att bygga filnamn för att ta bort var lite suboptimal, vilket har fastställts.
  • "git commit - help" sade "- no-verifiera" handlar bara om att hoppa över förinställda kroken och misslyckades med att säga att den också hoppade över commit-msg-kroken.
  • "git merge" i Git v2.9 lärdes att förbjuda att sammanfoga en orelaterad historiahistoria som standard, men det är precis den typen av saker som "-rejoin" -modellen av "git subtree" (i bidrag /) vill göra. "git subtree" har lärt sig att använda alternativet "-allow-unrelated-histories" för att åsidosätta standardvärdet.
  • Byggproceduren för "git persistent-https" hjälpar (i contrib /) har uppdaterats så att den kan byggas med senare versioner av Go.
  • Det finns en optimering som används i "git diff $ treeA $ treeB" för att låna en redan utcheckad kopia i arbetstreet när det är känt att det är detsamma som blob som jämförs, förväntar sig att öppen / mmap av sådan en fil är snabbare än att läsa den från objektaffären, vilket innebär uppblåsning och tillämpning av delta. Detta sparkade dock in även när den utcheckade kopian måste gå igenom konvertering-till-git-konvertering (inklusive det rena filtret), vilket slår igenom hela optimeringspunkten. Optimeringen har inaktiverats när omvandlingen är nödvändig.
  • "git -c grep.patternType = extended log - basic-regexp" felaktigt eftersom det interna API: n för åtkomst till grep-maskinen inte var väl utformad.
  • Windows-porten misslyckades med några tester i t4130, på grund av bristen på inum i de returnerade värdena genom sin lstat (2) -emulering.
  • Tecknen i etiketten som visas för taggar / refs för förbindelser i "gitweb" -utgången, rensas nu ordentligt för korrekt HTML-utmatning.
  • FreeBSD kan ligga när man frågar mtime i en katalog, vilket gjorde att den obelagda cachekoden faller tillbaka till en långsam sökväg, vilket i sin tur orsakade test i t7063 att misslyckas eftersom den ville verifiera beteendet hos snabbvägen.
  • Squelch-kompilatorvarningar för netmalloc (i kompatibelt /) -bibliotek.
  • API-dokumentationen för hashmap var oklart om hashmap_entry kan kasseras säkert utan någon annan övervägning. Ange att det är säkert att göra det.
  • Inte så nyskapande omskrivning av "git am" som började göra interna samtal i commit-maskinen hade en oavsiktlig regression, oavsett hur många sekunder det krävde att applicera många fläckar, resulterade kommitterns tidsstämpel för de resulterande åtagandena var alla samma.
  • "git difftool ..." som startats i en underkatalog misslyckades med att tolka sökvägarna i förhållande till den katalogen som har fastställts.

Vad är nytt i version 2.9.1:

  • När "git daemon" körs utan - [init-] timeout specificerat, kan en anslutning från en klient som tyst går offline hänga länge och slösa bort resurser. Utgångsnivån KEEPALIVE har blivit möjlig för att OS ska märka sådana misslyckade anslutningar.
  • Kommandon i `git log`-familjen tar% C (auto) i en anpassad formatsträng. Det här ställs ovillkorligt på färgen, ignorerar - ingen färg eller med - färg = auto när utgången inte är ansluten till en tty; Detta korrigerades för att formatet verkligen ska fungera som "auto".
  • "git rev-list-count" vars gånglängd är begränsad med "-n" -alternativet fungerade inte bra med räkningen optimerad för att titta på bitmappsindexet.
  • "git show -W" (utvidga hunks för att täcka hela funktionen, avgränsad av rader som matchar "funcname" mönstret) brukade visa hela filen när en ändring lade till en hel funktion i slutet av filen, vilket har fastställts.
  • Dokumentationsuppsättningen har uppdaterats så att bokstavskommandon, konfigurationsvariabler och miljövariabler är konsekvent typade i typsnitt med fast bredd och fet i manualer.
  • "git svn propset" underkommando som lagts till i 2,3 dagar är dokumenterad nu.
  • Dokumentationen försöker konsekvent stava "GPG"; När man hänvisar till det specifika programnamnet används "gpg".
  • "git reflog" stoppades vid att se en post som betecknar en grenskapande händelse (aka "ofödda"), vilket gjorde att det verkade som om reflogen trunkerades.
  • Den git-prompt scriptlet (i contrib /) var inte vänlig med dem som använder "set -u", vilket har fastställts.
  • En kodpath som använde alloca (3) för att placera en obegränsad mängd data på stapeln har uppdaterats för att undvika att göra det.
  • "git update-index --add --chmod = + x file" kan vara användbar som en escape lucka, men inte en vänlig sak att tvinga för människor som behöver använda det regelbundet. "git add --chmod = + x file" kan användas istället.
  • Bygg förbättringar för GNOME-nyckelring (i bidrag /)
  • "git-status" brukade säga "arbetskatalog" när det menade "arbetande träd".
  • Kommentarer om felaktiga FreeBSD-skal har klargjorts med versionsnumret (9.x och tidigare är trasiga, nyare är OK).
  • "git cherry-pick A" arbetade på en ofödd gren, men "git cherry-pick A..B" gjorde inte.
  • "git add -i / -p" lärde sig hedra diff.compactionHeuristic experimentell knopp, så att användaren kan arbeta på samma hunk split som "git diff" -utgång.
  • "logg --graph --format =" lärde sig att "% & gt; | N" anger bredden i förhållande till terminalens vänstra kant, inte i förhållande till området för att rita text som ligger till höger om anoret -afsnittet. Det accepterar nu nu negativt N som betyder att kolumngränsen är i förhållande till den högra gränsen.
  • Äganderegeln för den del av minnet som innehåller referenser för att hämtas i "git-hämtning" var skruvig, som har rengjorts.
  • "git bisect" gör ett internt samtal till "git diff-tree" när bisection finner syndern, men det här samtalet initierade inte datastrukturen för att passera till diff-tree API korrekt.
  • Formater av de olika uppgifterna (och hur man validerar dem) där vi använder GPG-signatur har dokumenterats.
  • Fixa en oavsiktlig regression i v2.9 som bryter "klon -depth" som återvänder ner till submoduler genom att tvinga submodulerna att också klonas grundligt, vilka många servernsinstanser som är värd uppströms delmodulerna inte är förberedda för.
  • Fix onödigt avfall i idiomatisk användning av ': $ {VAR = default}' för att ställa in standardvärdet utan att bifoga det i dubbla citat.
  • En del plattformsspecifik kod hade icke-ANSI-strikta deklarationer av C-funktioner som inte tar några parametrar som har korrigerats.
  • Den interna koden som används för att visa lokal tidszonförskjutning är inte beredd att hantera tidsstämplar utöver år 2100 och gav ett falskt offsetvärde till den som ringer. Använd en mer benign look +0000 istället och låt "git log" gå i ett sådant fall istället för att avbryta.
  • En av fyra inbjudningar av readlink (1) i vår testpaket har skrivits om, så att testet kan köras på system utan kommandot (andra är i valgrind-testramen och t9802).
  • t / perf needs / usr / bin / time med GNU-förlängning; Uppkallandet av det är uppdaterat till "gtime" på Darwin.
  • En bugg, som orsakade "git p4" medan den kördes under verbal läge för att rapportera sökvägar som utelämnas på grund av filprefixet felaktigt, har fastställts. Kommandot sa "ignorera filen utanför prefixet" för sökvägar som är _inside _.
  • Dokumentationen "git help git" på högsta nivån pekar fortfarande på dokumentationen som är värd för det nuvarande Google-kodförvaret. Uppdatera det för att peka på https://git.github.io/htmldocs/git.html istället.

Vad är nytt i version 2.9.0:



Nytt i GIT 2.8.1 (5 april 2016)

Vad är nytt i version 2.8.1:

  • "make rpmbuild" -målet var bruten, eftersom dess ingång, git.spec.in, inte uppdaterades för att matcha en fil som beskrivs som har blivit bytt namn nyligen. Detta har blivit löst.

Vad är nytt i version 2.7.3:

  • De tester som försöker kommandon som fungerar på innehållet i arbetstreet namnges traditionellt med "worktree" i deras filnamn, men med det senaste tillägget av "git worktree" -kommandon, vars test också heter på samma sätt, har det bli svårare att berätta för dem. De traditionella testerna har bytt namn till att använda "work-tree" istället i ett försök att skilja dem.
  • Många kodposter glömmer att kontrollera returvärde från git_config_set (); funktionen görs för att dö () för att se till att vi inte går vidare när en konfigurationsvariabel misslyckades.
  • Hantering av fel när du skriver in i vår interna asynkrona process har blivit mer robust, vilket minskar flakighet i våra test.
  • "git show" HUVUD: Foo [BAR] Baz '"tolkade inte argumentet som en rev, det vill säga det objekt som namnet heter med jokertecken i ett trädobjekt.
  • "git rev-parse -git-common-dir" som används i funktionstypfunktionen misslyckades när den körs från en underkatalog.
  • Kommandot "v (iew)" av det interaktiva "git am -i" -kommandot bröts i 2.6.0 tidsram när kommandot omskrivits i C.
  • "git merge-tree" brukade misshandla "båda sidor tillagda" konflikt med sin egen "skapa en falsk förfaderfil som har de gemensamma delarna av vad båda sidorna har lagt till och gör en 3-vägs sammanslagning" -logik; Detta har uppdaterats för att använda den vanliga "3-vägs-fusionen med en tom blob som den vanliga gemensamma förfaderfilen" -metoden som används i resten av systemet.
  • Minneskapningsregeln för fill_textconv () API, vilket var lite knepigt, har dokumenterats lite bättre.
  • Dokumentationen visade inte klart att "simple" -läget nu är standard för "git push" när push.default-konfigurationen inte är inställd.
  • Nyaste versioner av GNU grep är pickier när deras inmatning innehåller godtycklig binär data, som några av våra test använder. Skriv om testen för att undanröja problemet.
  • En hjälparfunktion "git submodule" använder sedan v2.7.0 för att lista de moduler som matchar pathspec-argumentet som ges till dess underkommandon (till exempel "submodule add") har fastställts.
  • "git config-sektion.var-värde" för att ange ett värde i konfigurationsfilen för varje förråd misslyckades när den kördes utanför något förråd, men sade inte orsaken korrekt.
  • Koden för att läsa packdata med de förskjutningar som lagrats i paketets idx-fil har gjorts mer noggrant, kontrollera giltigheten av data i idx.

Vad är nytt i version 2.7.2:

  • Lågnivåfusionsmaskiner har lärt sig att använda CRLF-linjens uppsägning när de lägger in konfliktmarkörer i fusionerat innehåll som själva är linjebeständda av CRLF.
  • "git worktree" hade en trasig kod som försökte automatiskt fixa eventuell inkonsekvens som resulterar från slutanvändare som flyttar en bänk till olika ställen utan att berätta för Git (originalförvaret behöver behålla backpointers till sina bänkskivor, men "mv" drivs av slutanvändare som inte är bekant med det faktum kommer uppenbarligen inte att anpassa dem), vilket faktiskt gjorde det värre när det utlöstes.
  • "git push-force-lease" har lärt sig att rapportera om pushen behövs för att tvinga (eller snabbspolning).
  • Det emulerade "ja" -kommandot som används i våra testskript har varit tweaked att inte spendera för mycket tid som genererar onödig produktion som inte används för att hjälpa dem som testar på Windows där det inte skulle sluta tills det fyller rörbufferten på grund av att sakna SIGPIPE.
  • Vimdiff-backend för "git mergetool" har anpassats för att ordna och numrera buffertar i den ordning som skulle matcha förväntan på majoriteten av personer som läser åt vänster till höger, sedan nedåt och tilldela buffertar 1 2 3 4 "mentalt" till lokala bas fjärrfusionsfönster baserat på den ordningen.
  • Dokumentationen för "git clean" har korrigerats; det nämnde att .git / moduler / * tas bort genom att ge två "-f", vilket aldrig har varit fallet.
  • Banor som har fått höra indexet med "add -N" finns inte riktigt i indexet, men några kommandon bete sig som om de redan är skadliga.
  • Innehåller även liten dokumentation och testuppdateringar.

Vad är nytt i version 2.6.4:

  • Skriptet "configure" testade inte för -lpthread korrekt, vilket upprörde några länkar.
  • Lägg till stöd för att prata http / https över strumpeproxy.
  • Portabilitetsfix för Windows, som kan skriva om $ SHELL-variabel med icke-POSIX-banor.
  • Vi tillåter konsekvent alla krokar att ignorera deras standardinmatning, snarare än att ha git klagar på SIGPIPE.
  • Fixa citationstecken i contrib script.
  • Korrigering av testportabilitet för ett ämne i v2.6.1.
  • Tillåt expansion i vissa http-variabler.
  • Ge ett användbart specialfall "diff / show --word-diff-regex =." som ett exempel i dokumentationen.
  • Fix för ett hörnfall i filterbranschen.
  • Gör git-p4-arbete på ett fritt huvud.
  • Förklaring av dokumentation för "ignorera" utan "--verbose".
  • Precis som att arbetstreet städas upp när användaren avbröt inlägget i P4Submit.applyCommit (), städa upp roten om "p4 submit" misslyckas.
  • Att ha en leftover .idx-fil utan motsvarande .pack-fil i förvaret gör ont "git gc" lärde sig att beskära dem.
  • Koden för att förbereda den aktiva trädsidan i den tillfälliga katalogen för "dir-diff" -funktionen glömde att symboliska länkar inte behöver kopieras (eller symlinked) till det temporära området, eftersom koden redan är speciella fall och skrivs över dem. Dessutom var det fel att försöka beräkna objektets namn på målet för symbolisk länk, vilket kanske inte ens existerar eller kan vara en katalog.
  • Det gick inte att besegra en konfigurerad rebase.autostash-variabel från kommandoraden, eftersom "git rebase -no-autostash" saknades.
  • Tillåt "git interpreters" att köra utanför ett Git-förråd.
  • Skapa korrekt "smutsig" markör för skallanrop, även när vi är på föräldralösa eller ofödda grenar.
  • Vissa hörnfall har fastställts i strängmatchning gjord i "git-status".
  • Apples gemensamma kryptoimplementering av SHA1_Update () tar inte mer än 4 GB åt gången, och vi har nu en sammanställningstid för det.

Vad är nytt i version 2.5.3:

  • Funktionen Experimentell ospärrad cache var buggy när vägar med några nivåer av underkataloger är inblandade.
  • Nyaste versioner av skript "git am" har en prestationsregression i "git am - skip" codepath, som inte längre existerar i den inbyggda versionen på "master" fronten. Fix regressionen i den senaste skriptversionen som visas i 2.5.x underhållspanel och äldre.

Vad är nytt i version 2.4.6:

  • "git hämta --depth =" och "git klon --depth =" utfärdade en grunt överföringsförfrågan även till en uppladdningspaket som inte stöder möjligheten.
  • "git fsck" brukade ignorera saknade eller ogiltiga objekt inspelade i reflog.
  • Tcsh slutförandet skriver en bash scriptlet men det skulle ha misslyckats för användare med noclobber set.
  • Nya Mac OS X-uppdateringar bryter logiken för att upptäcka att maskinen är ansluten till nätströmmen i exemplet pre-auto-gc-skriptet.
  • "git-format-patch -ignore-if-upstream A..B" gillade inte att matas taggar som gränsen förbinder.
  • Innehåller också typofix, dokumentationsuppdateringar och trivial kod
  • sanering.

Vad är nytt i version 2.4.2:

  • "git rev-list --objekt $ old --not --all" för att se om allt som kan nås från $ old är redan kopplat till befintliga refs var mycket ineffektivt.
  • "hash-object -literally" som introducerades i v2.2 var inte beredd att ta ett riktigt långt objekt typnamn.
  • "git rebase - quiet" var inte riktigt tyst när det inte finns något att göra.
  • Slutförandet för parametervärdet "log --decorate =" var felaktigt.
  • "Filter-gren" skadad commit logg meddelande som slutar med en ofullständig linje på plattformar med några "sed" implementeringar som munger en sådan linje. Arbeta det runt genom att undvika att använda "sed".
  • "git-demon" misslyckas med att bygga från källan under NO_IPV6-konfiguration (regression i 2.4).
  • "git stash pop / apply" glömde att se till att inte bara arbetet träd är rent men också indexet är rent. Det senare är viktigt eftersom en stash-applikation kan konflikt och indexet kommer att användas för konfliktlösning.
  • Vi har prepended $ GIT_EXEC_PATH och sökvägen "git" är installerad i (vanligtvis "/ usr / bin") till $ PATH när man påbereder subprogram och krokar för nästan evighet, men det ursprungliga användarfallet som senare försökte stödja var semi- -bogus (dvs. installera git till / opt / foo / git och kör det utan att ha / opt / foo på $ PATH) och viktigare är det blivit mindre och mindre relevant eftersom Git växte mer vanligt (dvs användarna skulle _want_ ha det på deras $ PATH). Sluta med att lägga ut den väg som "git" är installerad på användarnas $ PATH, eftersom det skulle störa kommandosökordningen som folk är beroende av (t.ex. de kanske inte gillar versioner av program som inte är relaterade till Git in / usr / bin och vill åsidosätta dem genom att ha olika i / usr / local / bin och ha den senare katalogen tidigare i deras $ PATH).
  • Innehåller också typofixer, dokumentationsuppdateringar och triviala kodreningar.

Liknande mjukvara

iDok
iDok

3 Jun 15

gett-cli
gett-cli

20 Feb 15

hgview
hgview

17 Feb 15

Kommentarer till GIT

Kommentarer hittades inte
Kommentar
Slå på bilder!