User Tools

Site Tools


git_cheat_sheet

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
git_cheat_sheet [2025/12/04 00:38] – [Who needs to clean up] stephengit_cheat_sheet [2026/08/07 05:01] (current) stephen
Line 18: Line 18:
  
 <code text> <code text>
-[core] 
- editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession 
- pager = cat 
- longpaths = true 
- 
 [user] [user]
  name = Stephen Heise  name = Stephen Heise
Line 29: Line 24:
 [init] [init]
  defaultBranch = main  defaultBranch = main
- 
-[mergetool] 
- prompt = false 
- keepBackup = false 
- keepTemporaries = false 
- 
-[merge] 
- tool = winmerge 
- 
-[mergetool "winmerge"] 
- name = WinMerge 
- trustExitCode = true 
- cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e -dl \"Local\" -dr \"Remote\" $LOCAL $REMOTE $MERGED 
- 
-[diff] 
- tool = winmerge 
- 
-[difftool "winmerge"] 
- name = WinMerge 
- trustExitCode = true 
- cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE 
  
 [push] [push]
Line 55: Line 29:
  autoSetupRemote = true  autoSetupRemote = true
    
 +[remote "origin"]
 + prune = true
 +
 [alias] [alias]
  st = status  st = status
Line 77: Line 54:
  ro2mfp = !git ro2m && echo 'Force pushing' && git fp  ro2mfp = !git ro2m && echo 'Force pushing' && git fp
  
-[winUpdater+# Linux only 
- recentlySeenVersion 2.15.1.windows.2+[credential
 + helper = /usr/local/bin/git-credential-manager 
 + credentialStore secretservice
  
-[remote "origin"] +[credential "https://dev.azure.com"] 
- prune = true+ useHttpPath = true 
 + 
 +# Windows only 
 +[core] 
 + editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession 
 + pager = cat 
 + longpaths = true 
 + 
 +[mergetool] 
 + prompt = false 
 + keepBackup = false 
 + keepTemporaries = false 
 + 
 +[merge] 
 + tool = winmerge 
 + 
 +[mergetool "winmerge"
 + name = WinMerge 
 + trustExitCode = true 
 + cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e -dl \"Local\" -dr \"Remote\" $LOCAL $REMOTE $MERGED 
 + 
 +[diff] 
 + tool = winmerge 
 + 
 +[difftool "winmerge"
 + name = WinMerge 
 + trustExitCode = true 
 + cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
 </code> </code>
  
Line 102: Line 108:
  
 ''<nowiki>git config --list --show-origin</nowiki>'' ''<nowiki>git config --list --show-origin</nowiki>''
 +
 +===== Install on Linux =====
 +
 +  - Install Git Credential Manager
 +    - ''<nowiki>sudo apt-get update</nowiki>''
 +    - ''<nowiki>sudo apt-get install git-credential-manager</nowiki>''
 +    - Or download from [[https://github.com/git-ecosystem/git-credential-manager/releases]], assets, gcm-linux-x64-2.x.x.deb.
 +  - Configure Git to use Git Credential Manager
 +    - ''<nowiki>git config --global credential.helper manager</nowiki>''
 +  - Select the credential store backend
 +    - ''<nowiki>git config --global credential.credentialStore secretservice</nowiki>''
 +  - Verify GNOME Keyring (Secret Service) is running
 +    - Run: ''<nowiki>ps aux | grep keyring</nowiki>'', look for ''<nowiki>gnome-keyring-daemon</nowiki>''.
 +    - If missing, start it with: ''<nowiki>gnome-keyring-daemon --start --components=secrets</nowiki>''
 +
  
 ===== Try Git ===== ===== Try Git =====
Line 142: Line 163:
 | ''<nowiki>git push --force origin HEAD~10:$(git rev-parse --abbrev-ref HEAD)</nowiki>'' | Force push up to the last 10 commits. | | ''<nowiki>git push --force origin HEAD~10:$(git rev-parse --abbrev-ref HEAD)</nowiki>'' | Force push up to the last 10 commits. |
 | ''<nowiki>gitk</nowiki>'' | A commit viewer. | | ''<nowiki>gitk</nowiki>'' | A commit viewer. |
-| ''<nowiki>gitk 'stash@{0}'</nowiki>'' | View the contents of the first stash. | 
 | ''<nowiki>gitk --all $(git fsck --no-reflog | Select-String "(dangling commit )(.*)" | %{ $_.Line.Split(' ')[2] })</nowiki>'' | Find a dropped stash. | | ''<nowiki>gitk --all $(git fsck --no-reflog | Select-String "(dangling commit )(.*)" | %{ $_.Line.Split(' ')[2] })</nowiki>'' | Find a dropped stash. |
 | ''<nowiki>git tag -a <tagname> -m "commit comment"</nowiki>'' | Annotated tag (preferred over lightweight tags). | | ''<nowiki>git tag -a <tagname> -m "commit comment"</nowiki>'' | Annotated tag (preferred over lightweight tags). |
Line 151: Line 171:
 | ''<nowiki>git --git-dir=../<other repo>/.git format-patch -k -1 --stdout <commit hash> | git am -3 -k</nowiki>'' | 'Cherry pick' a commit from another repo. | | ''<nowiki>git --git-dir=../<other repo>/.git format-patch -k -1 --stdout <commit hash> | git am -3 -k</nowiki>'' | 'Cherry pick' a commit from another repo. |
 | ''<nowiki>git remote -v</nowiki>'' | View remote / origin URL. | | ''<nowiki>git remote -v</nowiki>'' | View remote / origin URL. |
 +|  Stashing  | |
 +| ''<nowiki>gitk 'stash@{0}'</nowiki>'' | View the contents of the first stash. |
 +| ''<nowiki>git diff stash</nowiki>'' | Shows differences between your current working tree and the most recent stash entry. |
 +| ''<nowiki>git diff stash@{0}</nowiki>'' | Shows differences against a specific stash entry (here, the latest one explicitly). |
 +| ''<nowiki>git diff --name-only stash</nowiki>'' | Lists only file names that differ between your working tree and the stash. |
 +| ''<nowiki>git diff stash -- path/to/file.cs</nowiki>'' | Shows differences against the stash for only the specified file. |
 +
 +
 +
  
 ===== Workflows ===== ===== Workflows =====
git_cheat_sheet.1764808734.txt.gz · Last modified: 2025/12/04 00:38 by stephen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki