Chapters ▾ 2nd Edition

2.1 Git Basics - Verkry 'n Git-bewaarplek (repository)

If you can read only one chapter to get going with Git, this is it. This chapter covers every basic command you need to do the vast majority of the things you’ll eventually spend your time doing with Git. By the end of the chapter, you should be able to configure and initialize a repository, begin and stop tracking files, and stage and commit changes. We’ll also show you how to set up Git to ignore certain files and file patterns, how to undo mistakes quickly and easily, how to browse the history of your project and view changes between commits, and how to push and pull from remote repositories.

Verkry 'n Git-bewaarplek (repository)

Jy sal tipies op een van twee maniere 'n Git-bewaarplek (repository) verkry:

  1. Jy kan 'n plaaslike gids (directory) neem wat tans nie onder weergawebeheer is nie, en dit in 'n Git-bewaarplek (repository) verander, of

  2. Jy kan 'n bestaande Git-bewaarplek (repository) van iewers anders af kloon (clone).

In beide gevalle eindig jy met 'n Git-bewaarplek (repository) op jou plaaslike masjien, gereed om mee te werk.

Initialiseer 'n Bewaarplek (repository) in 'n Bestaande Gids (directory)

As jy 'n projek-gids (directory) het wat tans nie onder weergawebeheer is nie en jy wil dit met Git begin bestuur, moet jy eers na daardie projek-gids (directory) toe gaan. As jy dit nog nooit vantevore gedoen het nie, lyk dit 'n bietjie anders afhangend van die stelsel waarop jy werk:

vir Linux:

$ cd /home/user/my_project

vir macOS:

$ cd /Users/user/my_project

vir Windows:

$ cd C:/Users/user/my_project

en tik:

$ git init

Dit skep 'n nuwe sub-gids (directory) genaamd .git wat al jou nodige bewaarplek-lêers (repository files) bevat — 'n Git-bewaarplek (repository) raamwerk. Op hierdie stadium word niks in jou projek nog nagespoor (tracked) nie. Sien Git Internals vir meer inligting oor presies watter lêers binne-in die .git gids (directory) is wat jy pas geskep het.

As jy bestaande lêers onder weergawebeheer wil plaas (in teenstelling met 'n leë gids (directory)), sal jy waarskynlik daardie lêers moet begin naspoor (track) en 'n aanvanklike commit doen. Jy kan dit bereik met 'n paar git add opdragte wat die lêers spesifiseer wat jy wil naspoor, gevolg deur 'n git commit:

$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'

Ons sal binnekort in meer detail verduidelik wat hierdie opdragte doen. Op hierdie punt het jy 'n Git-bewaarplek (repository) met lêers wat nagespoor word (tracked files) en 'n aanvanklike commit.

Kloon 'n Bestaande Bewaarplek (repository)

As jy 'n kopie wil kry van 'n bestaande Git-bewaarplek (repository) — byvoorbeeld 'n projek waartoe jy wil bydra — is git clone die opdrag wat jy benodig. As jy vertroud is met ander weergawebeheerstelsels (VCSs) soos Subversion, sal jy opmerk dat die opdrag "clone" is en nie "checkout" nie. Dit is 'n belangrike onderskeid — in plaas daarvan om net 'n werkskopie (working copy) te kry, ontvang Git 'n volledige kopie van byna alle data wat die bediener (server) het.

Elke weergawe van elke lêer in die hele geskiedenis van die projek word by verstek afgelaai wanneer jy git clone hardloop. In werklikheid, as jou bediener se hardeskyf korrup raak, kan jy dikwels byna enige van die klone op enige kliënt gebruik om die bediener terug te bring na die toestand waarin dit was toe dit gekloon is (jy mag dalk 'n paar bediener-kant "hooks" en dergelike verloor, maar al die weergawe-data sal daar wees — sien Git op 'n Bediener kry (Getting Git on a Server) vir meer besonderhede).

Jy kloon 'n bewaarplek (repository) met git clone <url>. Byvoorbeeld, as jy die Git koppelbare biblioteek (linkable library) genaamd libgit2 wil kloon, kan jy dit soos volg doen:

$ git clone https://github.com/libgit2/libgit2

Dit skep 'n gids (directory) genaamd libgit2, initialiseer 'n .git gids (directory) daarbinne, laai al die data vir daardie bewaarplek (repository) af, en doen 'n checkout van 'n werkskopie van die nuutste weergawe. As jy in die nuwe libgit2 gids (directory) inbeweeg wat pas geskep is, sal jy die projeklêers daarbinne vind, gereed om op te werk of te gebruik.

As jy die bewaarplek (repository) in 'n gids (directory) wil kloon met 'n ander naam as libgit2, kan jy die nuwe gids-naam (directory name) as 'n bykomende argument spesifiseer:

$ git clone https://github.com/libgit2/libgit2 mylibgit

Daardie opdrag doen dieselfde as die vorige een, maar die teikengids (target directory) word mylibgit genoem.

Git het 'n aantal verskillende oordragprotokolle (transfer protocols) wat jy kan gebruik. Die vorige voorbeeld gebruik die https:// protokol, maar jy kan ook git:// of user@server:path/to/repo.git teëkom, wat die SSH-oordragprotokol gebruik. Git op 'n Bediener kry (Getting Git on a Server) sal al die beskikbare opsies bekendstel wat die bediener kan opstel om toegang tot jou Git-bewaarplek (repository) te bied, en die voor- en nadele van elk.