Docs/Git cheat sheet.md
2023-06-06 20:22:13 +02:00

3.2 KiB

Git cheat sheet

Checka ut specifik commit

git checkout {{sha}}

Checka ut senaste commit

git checkout master

Byt remote

git remote rm origin
git remote add origin {{URL to repo}}
git push -u origin master
git remote -v

Alternativt

git remote rm origin
git remote add origin {{URL to repo}}
git pull origin master
git branch --set-upstream-to=origin/master
git pull

Förhindra Git push

git remote set-url --push origin no-pushing

Slå ihop flera repon

Merge project-a into project-b:

cd path/to/project-b
git remote add project-a /path/to/project-a
git fetch project-a --tags
git merge --allow-unrelated-histories project-a/master # or whichever branch you want to merge
git remote remove project-a

Pull repository, ignorera och skriv över lokala filer

git fetch --all
git reset --hard
git pull

Återställ lokal arbetskatalog till utcheckad version

git reset --hard VARNING - Ta bort icke trackade filer. Lägg till parametern "n" för "dry run" för att se vilka filer som kommer att raderas. git clean -f -d VARNING - Som ovan men raderar ävan ignorerade filer. git clean -f -x -d VARNING - Som ovan men raderar även filer i underkataloger (utan :/ rensas bara aktuell katalog) git clean -fxd :/

Konfigurera CR/LF

Default för Windows är denna inställning.

git config --global core.autocrlf true

Detta kommer att ersätta från det lokala systemets radbrytning till [LF] när repot checkas in. Om du kopierar filer från externa system till det lokala repot och Git detekterar detta som att filerna ändrats kan du använda detta kommando för att fixa detta.

git add --renormalize .

Andra alternativ:

git config --global core.autocrlf false
git config --global core.eol lf
git config core.eol crlf

Ta bort filer från repository (behåll lokalt)

git rm --cached file_to_remove.txt

Eller för en hel katalog (rekursivt)

git rm --cached -r directory_to_remove

Autentisering

Linux

  • Skapa ny SSH nyckel

ssh-keygen -t rsa -b 4096

Alternativt lägg till -C "<user@domain.com>"

  • Lägg till id_rsa.pub som SSH-nyckel för repot

  • Sätt remote repo till git@... istället för https:// ...

  • Gör en pull för att verifiera att allt fungerar

Aktivera credential store

Alternativt aktivera credential.helper store. Observera att detta sparar inloggningsinformation i klartext i ~/.git-credentials

git config --global credential.helper store

Windows

Aktivera Windows Credentials manager

git config --global credential.helper manager
git config --list

Kontrollera användarinformation lagrad i Windows Credentials manager

rundll32.exe keymgr.dll,KRShowKeyMgr