Git Tutorial and Cheat Sheet: Tame This Popular Version Control System

Avslöjande: Ditt stöd hjälper till att hålla webbplatsen igång! Vi tjänar en remissavgift för några av de tjänster vi rekommenderar på denna sida.


Git är ett distribuerat versionskontrollsystem som främst används för att designa programvara och utveckla komplexa webbapplikationer.

Till skillnad från andra källkodhanteringssystem, som förlitar sig på en klient-server-strategi för versionskontroll, är Git baserad på en peer-to-peer-arbetsmodell. Detta gör att programutvecklare kan arbeta med projekt oberoende av ett centraliserat eller gemensamt nätverk.

Varje kodares arbetsstation innehåller en fullständig kopia av arbetskatalogen och arkivet, inklusive alla deras individuella och pågående ändringar och revideringar. När en programmerares kod är klar kan en kopia sedan delas mellan kamrater eller med en central server.

Git har blivit ett av de mer populära kontrollsystemen med öppen källkodsversion bland mjukvaruutvecklare, på grund av dess hastighet, tillförlitlighet och medfödda dataintegritet.

Historia

Git skapades av Linus Torvalds, skapare och huvudutvecklare av Linux-kärnan.

Arbetet med projektet började 2005, när Torvalds och hans utvecklingsteam tvingades hitta ett alternativ till BitKeeper, det egna källkontrollhanteringssystemet som de hade använt för att utveckla och förfina Linux-kärnan.

BitKeepers upphovsrättsinnehavare hade återkallat den fria användningen av produkten, så Torvalds tvingades hitta ett versionskontrollsystem för att fylla tomrummet. Tyvärr var inget av de öppna källkodadistribuerade systemen som han hittade, upp till uppgiften, och det saknade både hastighet och prestanda.

Torvalds hittade ingenting som passade hans behov och beslutade att utveckla ett eget distribuerat versionskontrollsystem. Hans mål var enkla:

  • Använd det aktuella tillståndet för samtidiga versionssystem som ett exempel på vad man inte ska göra;

  • Fokusera på ett distribuerat arbetsflöde;

  • Se till att lapp tar inte mer än 3 sekunder;

  • Inkludera skyddsåtgärder mot oavsiktlig eller skadlig korruption.

Torvalds började utveckla Git i april 2005. Projektets initiala resultatmål uppnåddes snart och den första iterationen av systemet lanserades före årets slut.

År 2006 överlämnade Torvalds underhåll av Git till Junio ​​Hermano, en av de viktigaste bidragsgivarna till projektet. Hermano har fortsatt att utveckla Git och övervaka efterföljande versioner av systemet inklusive den senaste versionen av Git 2.9 2016.

Funktioner

För att bättre förstå Gits unika funktioner är det viktigt att skilja mellan de två vanligaste typerna av källkodshanteringssystem.

Samtidiga versionssystem (CVS) förlitar sig på en enda centraliserad server för att hysa hela versionens historik för en viss mjukvara. Med denna modell måste programmerare och utvecklare ha åtkomst till den gemensamma servern för att kunna granska och arbeta med programvarans kod.

Detta gör det ofta svårt för programmerare att arbeta snabbt och effektivt, särskilt när de arbetar som ett team.

Att förlita sig på en centraliserad server för en databas eller arkiv innebär också att allt arbete på ett projekt är beroende av serverns tillgänglighet, och det kan hämma kodarens arbete när de, eller själva servern, är offline.

Distribuerad versionskontroll

Git är emellertid distribuerat versionskontrollsystem (DVCS) och beror som sådan inte på en centraliserad server för att hysa hela versionens historik för ett visst projekt.

Git använder en distribuerad arkitektur, vilket innebär att varje utvecklare arbetar kopia av ett pågående projekt också är ett arkiv som innehåller en fullversionshistorik för programvaran som utvecklas.

Detta gör att programmerare kan arbeta i säkrare och mer flexibla kodningsmiljöer, utan behovet av att förbli anslutna till den gemensamma servern.

Förbättrade prestandafunktioner

Förbättrade prestandafunktioner är en annan anledning till att Git har blivit ett populärt alternativ till andra källkodshanteringssystem.

Git förenklar förgrenings- och sammanslagningsfunktioner, vilket gör det enklare för utvecklare att göra ändringar och granska och jämföra tidigare versioner av projektets källkod.

Eftersom alla dessa åtgärder görs på utvecklarens egen arbetsstation är processen dessutom snabbare och mer pålitlig än andra system.

Gits högpresterande funktioner kombinerat med dess distribuerade arkitektur underlättar också samarbete mellan utvecklare, vilket gör att de kan arbeta mer framgångsrikt från fjärrarbetsstationer.

säkerhet

Slutligen är en viktig funktion i Git dess inneboende säkerhet. All data och filer i Git-förvaret skyddas av SHA1-hashningsalgoritmen. Detta skyddar koden från skadliga och oavsiktliga förändringar.

Potentialen för dataförlust med Git minskas också kraftigt jämfört med andra källhanteringssystem, eftersom hela versionens historik för varje givet projekt lagras på varje bidragsarbets arbetsstation.

Kompatibilitet

Git är en DVCS med öppen källkod, och den kan laddas ner direkt från Git-webbplatsen. Git är kompatibelt med operativsystemen Windows, Linux, Mac OSX och BSD.

Komma igång

Git är ett kraftfullt källkodhanteringssystem, och det är en nyckelkomponent för många pågående kommersiella och öppen källkodsprogram.

De som aldrig har använt Git kan ofta hitta systemet förvirrande till en början, men inlärningskurvan är inte så brant som det kan verka och det finns några mycket bra online-tutorials (både text och video) som ger gott om instruktioner för nybörjare.

  • Git Tutorial: En omfattande guide: denna Udemy-tutorial ger en fullständig översikt av Git, inklusive dess utvecklingshistoria. Läsarna introduceras till de grundläggande funktionerna i systemet, med avsnitt avsedda att ställa in ett förvar, ångra åtgärder, grenar och slås samman och integration via Github.

  • Git-handledning för nybörjare: Grundläggande om kommandorad: denna videodutorial är inriktad på första gången Git-användare, och de med åtminstone en kortvarig förståelse för DVCS-system. Presentationen ger en enkel översikt över systemet med fokus på kommandoradens grunder.

  • Learn Git: A Git Tutorial: presenterad av Tutorials Point, denna omfattande introduktion och guide till Git täcker alla grunderna i versionskontrollsystemet. Denna handledning innehåller ett stort antal visuella hjälpmedel som hjälper till att demonstrera Git i aktion. Specifika avsnitt som behandlas inkluderar skapande av operationer, utförande och genomförande av ändringar, uppdatering av operationer, lappning och hantering av grenar.

  • Git-tutorial för nybörjare: En snabbstartguide: Presenterad av Timothy Corey, denna videodutorial är en mycket effektiv introduktion till Git för nybörjare. Användningen av verkliga exempel gör denna handledning särskilt lätt att följa och förstå.

Böcker

Git är ett mycket mångsidigt versionskontrollsystem, och för att förverkliga sina fulla potentiella användare behöver en omfattande förståelse av systemet och dess kapacitet. Online-tutorials kan erbjuda en grundläggande introduktion till Git, men de flesta är begränsade i deras omfattning.

För en mer djupgående titt på Git och dess användning kommer utvecklare och programmerare att utforska några av följande böcker.

  • Pro Git (2009) av Chacon och Straub: rekommenderas av Git-utvecklingsgruppen, Chacon och Straubs Pro Git ger en översikt över distribuerad versionskontroll och utvecklingen av Git och GitHub. Författarna förklarar grunderna i Git och dess många funktioner, ur såväl programmerare som projektledares synvinkel. Finns i både tryckta och digitala utgåvor.

  • Versionskontroll med Git: Kraftfulla verktyg och tekniker för samarbetsutveckling av programvara (2012) av Loeliger och McCullough: denna praktiska guide till Git tar läsarna från initiala koncept till avancerade tekniker med steg-för-steg-exempel. Ämnen inkluderar spårning, förgrening, sammanslagning och hantering av kodrevisioner med tonvikt på samarbetsprogramvara

    menade.

  • Git in Practice (2014) av Mark McQuaid: bäst lämpad för dem som redan känner till Gits grundprinciper, McQuaids bok tar en detaljerad titt på avancerade tekniker för att optimera och förbättra teamutvecklingsprojekt. Git in Practice täcker mer än 60 avancerade användningar för Git, inklusive historisk visualisering, avancerad förgrening, omskrivning av historia och katastrofåterställning.

Slutsats

Git har blivit ett av de mest använda versionskontrollsystemen i branschen på grund av sin hastighet, förbättrade prestandafunktioner och totala mångsidighet..

Som ett system med öppen källkod fortsätter Git att vidareutveckla och revidera och utvecklas för att möta de ständigt förändrade behoven hos professionella och amatörsutvecklare..

De resurser som diskuteras här bör ge en användbar introduktion till Git, dess tillämpning på samarbetsutvecklingsprojekt och dess status i hierarkin för versionskontrollsystem.

Git Cheatsheet

Git är ett distribuerat versionskontrollsystem med öppen källkod för användning i programvarudesign och utveckling av webbapplikationer. Följande fuskark innehåller en sampling av de mest använda Git-kommandoradsinstruktionerna.

Konfigurera verktyg

  • $ git config – global user.name “[name]” – tilldelar ett namn på dina åtagandetransaktioner

  • $ git config – global user.email “[e-postadress]” – tilldelar ett e-postmeddelande till dina åtagandetransaktioner

  • $ git config –global color.ui auto – möjliggör färgning av kommandoradsutgången

Skapa lagrar

  • $ git init [projektnamn] – skapar ett nytt lokalt arkiv med ett specifikt namn

  • $ git klon [url] – klonar ett aktuellt arkiv med sin fullständiga versionshistorik

Lokala förändringar

  • $ git status – listar alla nya eller modifierade filer som ska begås

  • $ git diff – visar filreferenser inte iscensatt

  • $ git lägg till [fil] – ögonblicksbild av filen före versionering

  • $ git diff – iscenesatt – visar filskillnader mellan iscensättning och sista filversion

  • $ git reset [fil] – avställer filen medan den bevaras dess innehåll

  • $ git commit – begår tidigare iscensatta ändringar

  • $ git commit -a – begår alla lokala förändringar i filer som har lagts till

  • $ git commit -m “[deskriptive message]” – registrerar permanent ögonblicksbilder i versionshistoriken

  • $ git-logg – visar historien om åtaganden

  • $ git log -p [filnamn] – visar historik över ändringar i en specifik fil

  • $ git blame [fil] – visar vilken användare som har ändrat filinnehåll och när

Grenar och taggar

  • $ git filial -av – listar alla befintliga filialer

  • $ git checkout [filial] – växla HEAD gren

  • $ git checkout [new-branch] – skapar en ny gren baserad på den nuvarande HEAD

  • $ git checkout – spår [fjärrkontroll / gren] – skapar en ny spårningsgren baserad på en fjärrgren

  • $ git branch -d [branch] – raderar en lokal filial

  • $ git-tagg [tag-name] – markerar det aktuella engagemanget med en tagg

  • $ katt .git / HEAD – visar vad HEAD, eller nuvarande gren, pekar på

Uppdateringar och publicering

  • $ git fjärrkontroll -v – lista alla för närvarande konfigurerade fjärrförvar

  • $ git show remote [remote] – visar detaljerad information från ett specifikt fjärrlager

  • $ git remote lägg till [kortnamn] [url] – lägg till ett nytt fjärrlager

  • $ git hämta [fjärr] – ladda ner alla ändringar från en specificerad fjärrkontroll utan att integreras i HEAD

  • $ git pull [fjärr] [gren] – ladda ner ändringar från ett specifikt fjärrlager och integrera / sammanfoga i HEAD

  • $ git push [fjärr] [gren] – publicera lokala ändringar i ett fjärrlager

  • $ git branch -dr [remote / branch] – tar bort en gren i det lokala fjärrlagret

  • $ git push-taggar – publicera taggar till förvaret

Slå samman och rebase

  • $ git merge [filial] – sammanfogar specificerad gren till nuvarande HEAD

  • $ git rebase [filial] – rebasera nuvarande HEAD på gren

  • $ git rebase – abort – avbryter föregående rebase

  • $ git rebase – fortsätt – Fortsätt rebasera efter att ha löst konflikter

  • $ git add [resolved-file] – redigera och lösa konflikter manuellt och markera filen som “löst”

  • $ git mergetool – använd sammanfogningsverktyg för att automatiskt lösa konflikter

Ångra

  • $ git reset –hard HEAD – tar bort alla lokala förändringar i arbetskatalogen

  • $ git checkout HEAD [filnamn] – tar bort alla lokala ändringar av en specifik fil

  • $ git revert [commit] – återställa ett åtagande genom att producera ett reviderat eller uppdaterat åtagande

  • $ git reset –hard [commit] – återställ HEAD-pekaren till ett tidigare åtagande och kassera alla efterföljande ändringar

  • $ git reset [commit] – återställ HEAD-pekaren till ett tidigare engagemang och bevara alla efterföljande ändringar som ostadierade händelser

  • $ git reset – hålla [commit] – återställ HEAD-pekaren till ett tidigare engagemang och bevara otillåtna ändringar

Den här korta referensguiden representerar en översikt över de vanligaste kommandoradsinstruktionerna som används i Git-versionens kontrollsystem. Det bör inte ses som uttömmande, men bör vara användbart för grundläggande programmering och kodning.

Ytterligare läsning och resurser

Vi har fler guider, självstudier och infografik relaterade till kodning och utveckling:

  • Versionskontroll och värd: inte bara om värd, utan också en jämförelse av versionskontrollsystem.

  • Ubuntu Primer: lära dig allt om en av de mest populära Linux-distributionerna – en utmärkt bas för MantisBT-värd.

  • Objektorienterad programmering: lära dig det stora utbudet av objektorienterade programmeringsspråk – vissa kan överraska dig.

Skulle Internet överleva världens slut?

Har du någonsin undrat vad en stor katastrof skulle göra på internet? Kolla in vår infographic, skulle Internet överleva världens slut?

Det är möjligt att vi alla kan förstöras men internet skulle leva vidare.

Skulle Internet överleva världens slut?
Skulle Internet överleva världens slut?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map