De bedste Git-vejledninger

Git er et open source distribueret versionskontrolsystem oprettet i 2005 af Linus Torvalds og andre fra Linux-udviklingssamfundet. Git kan arbejde med mange typer projekter, men det bruges mest til softwarekildekode.

Versionskontrol er et system, der holder styr på ændringer i en fil eller gruppe af filer over tid. Når du har en historie med disse ændringer, lader den dig finde specifikke versioner senere, sammenligne ændringer mellem versioner, gendanne filer, som du muligvis har slettet, eller gendanne filer til tidligere versioner.

Et distribueret versionskontrolsystem betyder, at forskellige brugere opretholder deres egne arkiver for et projekt i stedet for at arbejde fra et centralt arkiv. Brugere har automatisk fulde filsporingsegenskaber og projektets komplette versionshistorie uden brug af adgang til en central server eller et netværk.

Når Git initialiseres i et projektkatalog, begynder det at spore filændringer og gemme dem som "ændringssæt" eller "programrettelser". Brugere, der arbejder sammen om et projekt, indsender deres ændringssæt, som derefter inkluderes (eller afvises) i projektet.

freeCodeCamp har en YouTube-afspilningsliste med masser af praktiske Git- og GitHub-tip her.

Andre tutorials:

  • Pro Git bogen, skrevet af Scott Chacon og Ben Straub og udgivet af Apress. Bogen vises i sin helhed i Git-dokumentationen.
  • For downloads, dokumentation og en browserbaseret tutorial: Git officielle hjemmeside
  • De mest nyttige kommandoer, når du er i dårlig GIT-situation: Åh s ***, git!

Forstå de tre sektioner af et Git-projekt

Et Git-projekt vil have følgende tre hovedafsnit:

  1. Git-bibliotek
  2. Arbejdsmappe (eller arbejdstræ)
  3. Iscenesættelsesområde

Den Git Vejviser (placeret i YOUR-PROJECT-PATH/.git/) er, hvor Git gemmer alt det skal præcist at spore projektet. Dette inkluderer metadata og en objektdatabase, der inkluderer komprimerede versioner af projektfilerne.

Den arbejdsmappe er, hvor en bruger foretager lokale ændringer i et projekt. Arbejdsmappen trækker projektets filer fra Git-katalogets objektdatabase og placerer dem på brugerens lokale maskine.

Den iscenesættelse Området er en fil (også kaldet ”indeks”, ”scene”, eller ”cache”), som lagrer oplysninger om, hvad der vil gå ind i din næste begå. En forpligtelse er, når du beder Git om at gemme disse iscenesatte ændringer. Git tager et øjebliksbillede af filerne, som de er, og gemmer det øjebliksbillede permanent i Git-biblioteket.

Med tre sektioner er der tre hovedtilstande, som en fil kan være i til enhver tid: begået, ændret eller iscenesat. Du ændrer en fil, hver gang du foretager ændringer i den i din arbejdsmappe. Dernæst er det iscenesat, når du flytter det til iscenesættelsesområdet. Endelig er det begået efter en forpligtelse.

Installer Git

  • Ubuntu: sudo apt-get install git
  • Windows: Download
  • Mac: Download

Konfigurer Git-miljøet

Git har et git configværktøj, der giver dig mulighed for at tilpasse dit Git-miljø. Du kan ændre, hvordan Git ser ud og fungerer ved at indstille bestemte konfigurationsvariabler. Kør disse kommandoer fra en kommandolinjegrænseflade på din maskine (Terminal i Mac, Kommandoprompt eller Powershell i Windows).

Der er tre niveauer, hvor disse konfigurationsvariabler er gemt:

  1. System: placeret i /etc/gitconfig, anvender standardindstillinger for alle brugere af computeren. For at foretage ændringer i denne fil skal du bruge --systemindstillingen med git configkommandoen.
  2. Bruger: findes i ~/.gitconfigeller ~/.config/git/configanvender indstillinger på en enkelt bruger. For at foretage ændringer i denne fil skal du bruge --globalindstillingen med git configkommandoen.
  3. Projekt: ligger i YOUR-PROJECT-PATH/.git/config, gælder kun indstillinger for projektet. Brug git configkommandoen til at foretage ændringer i denne fil .

Hvis der er indstillinger, der er i konflikt med hinanden, tilsidesætter konfigurationerne på projektniveau brugerniveauerne, og konfigurationerne på brugerniveau tilsidesætter systemniveauerne.

Bemærk til Windows-brugere: Git søger efter konfigurationsfilen på brugerniveau ( .gitconfig) i dit $HOMEbibliotek ( C:\Users\$USER). Git ser også efter /etc/gitconfig, selvom det er i forhold til MSys-roden, hvilket er hvor du beslutter at installere Git på dit Windows-system, når du kører installationsprogrammet. Hvis du bruger version 2.x eller nyere af Git til Windows, er der også en konfigurationsfil på systemniveau C:\Documents and Settings\All Users\Application Data\Git\configpå Windows XP og ind C:\ProgramData\Git\configpå Windows Vista og nyere. Denne konfigurationsfil kan kun ændres git config -f FILEsom administrator.

Tilføj dit navn og din e-mail

Git inkluderer brugernavnet og e-mailen som en del af oplysningerne i en forpligtelse. Du vil gerne konfigurere dette under din konfigurationsfil på brugerniveau med disse kommandoer:

git config --global user.name "My Name" git config --global user.email "[email protected]"

Skift din teksteditor

Git bruger automatisk din standardteksteditor, men du kan ændre dette. Her er et eksempel på at bruge Atom-editoren i stedet ( --waitindstillingen fortæller skallen at vente på teksteditoren, så du kan gøre dit arbejde i den, før programmet går videre):

git config --global core.editor "atom --wait"

Tilføj farve til Git Output

Du kan konfigurere din shell til at tilføje farve til Git-output med denne kommando:

git config --global color.ui true

Brug kommandoen for at se alle dine konfigurationsindstillinger git config --list.

Initialer Git i et projekt

Når Git er installeret og konfigureret på din computer, skal du initialisere det i dit projekt for at begynde at bruge dets versionskontrolbeføjelser. På kommandolinjen skal du bruge cdkommandoen til at navigere til mappen på øverste niveau (eller rod) til dit projekt. Kør derefter kommandoen git init. Dette installerer en Git-mappe med alle de filer og objekter, Git har brug for for at spore dit projekt.

Det er vigtigt, at Git-biblioteket er installeret i projektets rodmappe. Git kan spore filer i undermapper, men det sporer ikke filer i en overordnet mappe i forhold til Git-biblioteket.

Få hjælp i Git

Hvis du glemmer, hvordan en kommando fungerer i Git, kan du få adgang til Git-hjælp fra kommandolinjen på flere måder:

git help COMMAND git COMMAND --help man git-COMMAND

Dette viser manuel side for kommandoen i dit shell-vindue. For at navigere skal du rulle med piletasterne op eller ned eller bruge følgende tastaturgenveje:

  • feller spacebartil side fremad
  • b til side tilbage
  • q at holde op

Forskel mellem Git og GitHub

Git og Github er to forskellige ting. Git er versionskontrolsystemet, mens GitHub er en tjeneste til hosting af Git repos, der hjælper folk med at samarbejde om at skrive software. Imidlertid er de ofte forvirrede på grund af deres lignende navn på grund af det faktum, at GitHub bygger oven på Git, og fordi mange websteder og artikler ikke gør forskellen mellem dem klar nok.

Git er ikke GitHub

Git

Git er det distribuerede versionskontrolsystem. Git er ansvarlig for at holde styr på ændringer i indhold - normalt kildekodefiler.

For mere info er der en komplet artikel om selve Git.

GitHub

GitHub er en service, der leverer Git repository hosting. Det betyder, at de leverer en nøglefærdig løsning til at være vært for Git-arkiver på deres servere. Det kan være nyttigt at holde en sikkerhedskopi af dit arkiv (Git sporer kun de ændringer, der er foretaget i dine filer over tid; repoen skal stadig sikkerhedskopieres) og at have et centralt sted til at gemme og dele din kode med andre.

Mere end bare en Git-repository-hostingtjeneste er GitHub en softwaresmedie. Det betyder, at det også giver en problemsporing, værktøjer til kodegennemgang og andre værktøjer til samarbejde med andre mennesker og oprettelse af software.

GitHub er ikke den eneste, der leverer denne form for service. En af dens største konkurrenter er GitLab. For mere om dette, se afsnittet om Git-hosting.

Sådan godkendes du med GitHub ved hjælp af SSH

Kontroller, at der ikke er nogen rsafiler her, inden du fortsætter, brug:

ls -al ~/.ssh

Hvis der ikke er noget at liste (dvs. : No such file or directory), skal du bruge:

mkdir $HOME/.ssh

Hvis der ikke er noget der, skal du generere en ny keygen med:

ssh-keygen -t rsa -b 4096 -C [email protected]

Brug nu ls -al ~/.sshviser vores id_rsa.pubfil.

Føj SSH-nøglen til SSH-agenten:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Tilføj RSA-nøgle til SHH med:

ssh-add ~/.ssh/id_rsa

Kopier din nøgle til udklipsholderen

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Gå til din GitHub-indstillingsside, og klik på knappen 'Ny SSH-nøgle' ​​i din genererede nøgle.

Bekræft derefter med:

ssh -T [email protected]