85 lines
2.8 KiB
Markdown
85 lines
2.8 KiB
Markdown
# Git cheat sheet
|
|
|
|
#### Checka ut specifik commit
|
|
|
|
<code>git checkout {{sha}}</code>
|
|
|
|
#### Checka ut senaste commit
|
|
|
|
<code>git checkout master</code>
|
|
|
|
#### Byt remote
|
|
|
|
<pre><code>git remote rm origin
|
|
git remote add origin {{URL to repo}}
|
|
git push -u origin master
|
|
git remote -v</code></pre>
|
|
|
|
Alternativt
|
|
|
|
<pre><code>git remote rm origin
|
|
git remote add origin {{URL to repo}}
|
|
git pull origin master
|
|
git branch --set-upstream-to=origin/master
|
|
git pull</code></pre>
|
|
|
|
#### Slå ihop flera repon ####
|
|
Merge project-a into project-b:
|
|
|
|
<pre><code>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</code></pre>
|
|
|
|
#### Pull repository, ignorera och skriv över lokala filer
|
|
|
|
<pre><code>git fetch --all
|
|
git reset --hard
|
|
git pull</code></pre>
|
|
|
|
#### Återställ lokal arbetskatalog till utcheckad version
|
|
<code>git reset --hard</code>
|
|
<strong>VARNING</strong> - Ta bort icke trackade filer. Lägg till parametern "n" för "dry run" för att se vilka filer som kommer att raderas.
|
|
<code>git clean -f -d</code>
|
|
<strong>VARNING</strong> - Som ovan men raderar ävan ignorerade filer.
|
|
<code>git clean -f -x -d</code>
|
|
<strong>VARNING</strong> - Som ovan men raderar även filer i underkataloger (utan :/ rensas bara aktuell katalog)
|
|
<code>git clean -fxd :/</code>
|
|
|
|
## Konfigurera CR/LF
|
|
Default för Windows är denna inställning.
|
|
<pre><code>git config --global core.autocrlf true</code></pre>
|
|
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.
|
|
<pre><code>git add --renormalize .</code></pre>
|
|
|
|
Andra alternativ:
|
|
<pre><code>git config --global core.autocrlf false</code></pre>
|
|
<pre><code>git config --global core.eol lf</code></pre>
|
|
<pre><code>git config core.eol crlf</code></pre>
|
|
|
|
## Ta bort filer från repository (behåll lokalt)
|
|
<pre><code>git rm --cached file_to_remove.txt</code></pre>
|
|
Eller för en hel katalog (rekursivt)
|
|
<pre><code>git rm --cached -r directory_to_remove</code></pre>
|
|
|
|
## Autentisering
|
|
|
|
#### Skapa ny privat SSH nyckel
|
|
|
|
<code>ssh-keygen -t rsa -b 4096</code>
|
|
|
|
Alternativt lägg till <code>-C "<user@domain.com>"</code>
|
|
|
|
#### Aktivera credential store
|
|
|
|
<pre><code>git config --global credential.helper store</code></pre>
|
|
|
|
#### Aktivera Windows Credentials manager
|
|
|
|
<pre><code>git config --global credential.helper manager
|
|
git config --list</code></pre>
|
|
|
|
#### Kontrollera användarinformation lagrad i Windows Credentials manager
|
|
|
|
<code>rundll32.exe keymgr.dll,KRShowKeyMgr</code> |