Denne oppgaven vil utforske staging-området til git.
Når vi jobber i git operer vi med tre forskjellige områder:
- Working directory der du gjør alle endringene dine
- Staging der alle endringene du har lagt til med
git add
er - Repository der alle commitsene ender, og utgjør historikken til prosjektet. For å legge endringene som er staged her må du bruke kommandoen
git commit
En fil kan både ha endringer i working directory og staging-området samtidig. Disse endringene trenger ikke være det samme.
I oppgaven kommer vi også til å jobbe med git restore
for å gjenopprette staged endringer av en fil.
Kjør source setup.sh
i terminalen (eller .\setup.ps1
i PowerShell)
Du bor i ditt eget repository. Det finnes en fil kalt file.txt
.
- Hva er innholdet i
file.txt
? - Overskriv innholdet i
file.txt
medecho 2 > file.txt
for å endre tilstanden til filen i working directory (ellersc file.txt '2'
i PowerShell). - Hva forteller
git diff
deg? - Hva forteller
git diff --staged
deg? Hvorfor er dette tomt? - Kjør
git add file.txt
for å legge til endringene som er i working directory til staging-området. - Hva forteller
git diff
deg nå? - Hva forteller
git diff --staged
deg nå? - Overskriv innholdet i
file.txt
medecho 3 > file.txt
for å endre tilstanden til filen i working directory (ellersc file.txt '3'
i PowerShell). - Hva forteller
git diff
deg nå? - Hva forteller
git diff --staged
deg nå? - Forklar hva som skjer.
- Kjør
git status
og observer atfile.txt
er til stede to ganger i utdataen. - Kjør
git restore --staged file.txt
for å fjerne endringen fra staging-området. - Hva forteller
git status
deg nå? - Legg til endringen i staging-området og gjør en commit.
- Hvordan ser loggen ut nå?
- Overskriv innholdet i
file.txt
medecho 4 > file.txt
(ellersc file.txt '4'
i PowerShell). - Hva er innholdet i
file.txt
nå? - Hva forteller
git status
oss? - Kjør
git restore file.txt
. - Hva er innholdet i
file.txt
nå? - Hva forteller
git status
oss nå?
git add
git commit
git commit -m "My lazy short commit message"
git log
git log -n 5
git log --oneline
git log --oneline --graph
git restore --staged