summaryrefslogtreecommitdiff
path: root/common/git
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-02-15 18:09:57 -0600
committerChristian Cleberg <[email protected]>2026-02-15 18:18:07 -0600
commit590cb005999e9e9d497bf67aa40d6a7a78cc0f1f (patch)
tree37390304688c33ff237aacfea1ac5722d4e25a03 /common/git
parentc3e1b1896ab156f6fa1529ebd630b065eff42efa (diff)
downloaddotfiles-590cb005999e9e9d497bf67aa40d6a7a78cc0f1f.tar.gz
dotfiles-590cb005999e9e9d497bf67aa40d6a7a78cc0f1f.tar.bz2
dotfiles-590cb005999e9e9d497bf67aa40d6a7a78cc0f1f.zip
split files into common, linux, and macos directories
Diffstat (limited to 'common/git')
-rw-r--r--common/git/.gitconfig52
-rw-r--r--common/git/.gitignore_global29
2 files changed, 81 insertions, 0 deletions
diff --git a/common/git/.gitconfig b/common/git/.gitconfig
new file mode 100644
index 0000000..ea494ad
--- /dev/null
+++ b/common/git/.gitconfig
@@ -0,0 +1,52 @@
+# This is Git's per-user configuration file.
+[user]
+ name = Christian Cleberg
+ signingkey = [email protected]
+[core]
+ excludesfile = ~/.gitignore_global
+ editor = emacs
+ autocrlf = input
+ untrackedCache = true
+
+[alias]
+ # Quick status and logs
+ st = status
+ co = checkout
+ br = branch
+ # A beautiful, readable graph log
+ lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
+ # Undo the last commit but keep changes
+ uncommit = reset --soft HEAD~1
+ # Clean up merged branches
+ trim = !git branch --merged | grep -v '*' | xargs -n 1 git branch -d
+
+[color]
+ ui = auto
+
+[init]
+ defaultBranch = main
+
+[push]
+ # Push to the current branch by default
+ default = current
+ # Automatically setup remote tracking on first push
+ autoSetupRemote = true
+
+[pull]
+ # Avoid creating unnecessary merge commits when pulling
+ rebase = true
+
+[rebase]
+ # Automatically stash changes before rebasing and pop after
+ autoStash = true
+
+[diff]
+ # Use an algorithmic approach that produces more readable diffs
+ algorithm = histogram
+ # Detect renames better
+ renames = true
+
+[help]
+ # Correct typos automatically (0.5 second delay)
+ autocorrect = 5
diff --git a/common/git/.gitignore_global b/common/git/.gitignore_global
new file mode 100644
index 0000000..5abac3e
--- /dev/null
+++ b/common/git/.gitignore_global
@@ -0,0 +1,29 @@
+# macOS
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Editors
+*.swp
+*.swo
+*~
+.vscode/
+.idea/
+
+# Common logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*