refactor
This commit is contained in:
211
modules/git.nix
Normal file
211
modules/git.nix
Normal file
@@ -0,0 +1,211 @@
|
||||
{...}: let
|
||||
name = "Christoph Schmatzler";
|
||||
in {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
ignores = ["*.swp"];
|
||||
settings = {
|
||||
user.name = name;
|
||||
init.defaultBranch = "main";
|
||||
core = {
|
||||
editor = "vim";
|
||||
autocrlf = "input";
|
||||
pager = "delta";
|
||||
};
|
||||
pull.rebase = true;
|
||||
rebase.autoStash = true;
|
||||
interactive.diffFilter = "delta --color-only";
|
||||
delta = {
|
||||
navigate = true;
|
||||
line-numbers = true;
|
||||
syntax-theme = "GitHub";
|
||||
side-by-side = true;
|
||||
pager = "less -FRX";
|
||||
};
|
||||
pager = {
|
||||
diff = "delta";
|
||||
log = "delta";
|
||||
show = "delta";
|
||||
};
|
||||
};
|
||||
lfs = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
g = "git";
|
||||
ga = "git add";
|
||||
gaa = "git add --all";
|
||||
gapa = "git add --patch";
|
||||
gau = "git add --update";
|
||||
gav = "git add --verbose";
|
||||
gap = "git apply";
|
||||
gapt = "git apply --3way";
|
||||
gb = "git branch";
|
||||
gba = "git branch --all";
|
||||
gbd = "git branch --delete";
|
||||
gbD = "git branch --delete --force";
|
||||
gbl = "git blame -w";
|
||||
gbnm = "git branch --no-merged";
|
||||
gbr = "git branch --remote";
|
||||
gbs = "git bisect";
|
||||
gbsb = "git bisect bad";
|
||||
gbsg = "git bisect good";
|
||||
gbsn = "git bisect new";
|
||||
gbso = "git bisect old";
|
||||
gbsr = "git bisect reset";
|
||||
gbss = "git bisect start";
|
||||
gc = "git commit --verbose";
|
||||
gca = "git commit --verbose --all";
|
||||
gcam = "git commit --all --message";
|
||||
gcas = "git commit --all --signoff";
|
||||
gcasm = "git commit --all --signoff --message";
|
||||
gcb = "git checkout -b";
|
||||
gcB = "git checkout -B";
|
||||
gcf = "git config --list";
|
||||
gclean = "git clean --interactive -d";
|
||||
gcl = "git clone --recurse-submodules";
|
||||
gclf = "git clone --recursive --shallow-submodules --filter=blob:none --also-filter-submodules";
|
||||
gcm = "git checkout main";
|
||||
gcmsg = "git commit --message";
|
||||
gcn = "git commit --verbose --no-edit";
|
||||
gco = "git checkout";
|
||||
gcor = "git checkout --recurse-submodules";
|
||||
gcount = "git shortlog --summary --numbered";
|
||||
gcp = "git cherry-pick";
|
||||
gcpa = "git cherry-pick --abort";
|
||||
gcpc = "git cherry-pick --continue";
|
||||
gcs = "git commit --gpg-sign";
|
||||
gcss = "git commit --gpg-sign --signoff";
|
||||
gcssm = "git commit --gpg-sign --signoff --message";
|
||||
gcsm = "git commit --signoff --message";
|
||||
gd = "git diff";
|
||||
gdca = "git diff --cached";
|
||||
gdcw = "git diff --cached --word-diff";
|
||||
gds = "git diff --staged";
|
||||
gdw = "git diff --word-diff";
|
||||
gdt = "git diff-tree --no-commit-id --name-only -r";
|
||||
gdup = "git diff @{upstream}";
|
||||
gf = "git fetch";
|
||||
gfa = "git fetch --all --tags --prune";
|
||||
gfo = "git fetch origin";
|
||||
gfg = "git ls-files | grep";
|
||||
gg = "git gui citool";
|
||||
gga = "git gui citool --amend";
|
||||
ggpull = "git pull origin \"$(git branch --show-current)\"";
|
||||
ggpush = "git push origin \"$(git branch --show-current)\"";
|
||||
ggsup = "git branch --set-upstream-to=origin/$(git branch --show-current)";
|
||||
ghh = "git help";
|
||||
gignore = "git update-index --assume-unchanged";
|
||||
gignored = "git ls-files -v | grep \"^[[:lower:]]\"";
|
||||
gl = "git pull";
|
||||
glg = "git log --stat";
|
||||
glgp = "git log --stat --patch";
|
||||
glgg = "git log --graph";
|
||||
glgga = "git log --graph --decorate --all";
|
||||
glgm = "git log --graph --max-count=10";
|
||||
glo = "git log --oneline --decorate";
|
||||
glog = "git log --oneline --decorate --graph";
|
||||
gloga = "git log --oneline --decorate --graph --all";
|
||||
glol = "git log --graph --pretty=\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\"";
|
||||
glola = "git log --graph --pretty=\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\" --all";
|
||||
glols = "git log --graph --pretty=\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset\" --stat";
|
||||
glod = "git log --graph --pretty=\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\"";
|
||||
glods = "git log --graph --pretty=\"%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\" --date=short";
|
||||
gluc = "git pull upstream $(git branch --show-current)";
|
||||
glum = "git pull upstream main";
|
||||
gm = "git merge";
|
||||
gma = "git merge --abort";
|
||||
gmc = "git merge --continue";
|
||||
gms = "git merge --squash";
|
||||
gmff = "git merge --ff-only";
|
||||
gmtl = "git mergetool --no-prompt";
|
||||
gmtlvim = "git mergetool --no-prompt --tool=vimdiff";
|
||||
gmum = "git merge upstream/main";
|
||||
gmom = "git merge origin/main";
|
||||
gp = "git push";
|
||||
gpd = "git push --dry-run";
|
||||
gpf = "git push --force-with-lease";
|
||||
gpod = "git push origin --delete";
|
||||
gpoat = "git push origin --all && git push origin --tags";
|
||||
gpr = "git pull --rebase";
|
||||
gpra = "git pull --rebase --autostash";
|
||||
gprav = "git pull --rebase --autostash -v";
|
||||
gprom = "git pull --rebase origin main";
|
||||
gpromi = "git pull --rebase=interactive origin main";
|
||||
gprv = "git pull --rebase -v";
|
||||
gprum = "git pull --rebase upstream main";
|
||||
gprumi = "git pull --rebase=interactive upstream main";
|
||||
gpsup = "git push --set-upstream origin $(git branch --show-current)";
|
||||
gpsupf = "git push --set-upstream origin $(git branch --show-current) --force-with-lease";
|
||||
gpv = "git push --verbose";
|
||||
gpu = "git push upstream";
|
||||
gr = "git remote";
|
||||
gra = "git remote add";
|
||||
grb = "git rebase";
|
||||
grba = "git rebase --abort";
|
||||
grbc = "git rebase --continue";
|
||||
grbd = "git rebase develop";
|
||||
grbi = "git rebase --interactive";
|
||||
grbm = "git rebase main";
|
||||
grbo = "git rebase --onto";
|
||||
grbom = "git rebase origin/main";
|
||||
grbs = "git rebase --skip";
|
||||
grbum = "git rebase upstream/main";
|
||||
grev = "git revert";
|
||||
greva = "git revert --abort";
|
||||
grevc = "git revert --continue";
|
||||
grf = "git reflog";
|
||||
grh = "git reset";
|
||||
grhh = "git reset --hard";
|
||||
grhk = "git reset --keep";
|
||||
grhs = "git reset --soft";
|
||||
grm = "git rm";
|
||||
grmc = "git rm --cached";
|
||||
grmv = "git remote rename";
|
||||
groh = "git reset origin/$(git branch --show-current) --hard";
|
||||
grrm = "git remote remove";
|
||||
grs = "git restore";
|
||||
grset = "git remote set-url";
|
||||
grss = "git restore --source";
|
||||
grst = "git restore --staged";
|
||||
grt = "cd \"$(git rev-parse --show-toplevel || echo .)\"";
|
||||
gru = "git reset --";
|
||||
grup = "git remote update";
|
||||
grv = "git remote --verbose";
|
||||
gsb = "git status --short --branch";
|
||||
gsh = "git show";
|
||||
gsi = "git submodule init";
|
||||
gsps = "git show --pretty=short --show-signature";
|
||||
gss = "git status --short";
|
||||
gst = "git status";
|
||||
gsta = "git stash push";
|
||||
gstaa = "git stash apply";
|
||||
gstall = "git stash --all";
|
||||
gstc = "git stash clear";
|
||||
gstd = "git stash drop";
|
||||
gstl = "git stash list";
|
||||
gstp = "git stash pop";
|
||||
gsts = "git stash show --patch";
|
||||
gstu = "git stash push --include-untracked";
|
||||
gsu = "git submodule update";
|
||||
gsw = "git switch";
|
||||
gswc = "git switch --create";
|
||||
gswd = "git switch develop";
|
||||
gswm = "git switch main";
|
||||
gta = "git tag --annotate";
|
||||
gts = "git tag --sign";
|
||||
gtv = "git tag | sort -V";
|
||||
gunignore = "git update-index --no-assume-unchanged";
|
||||
gunwip = "git rev-list --max-count=1 --format=\"%s\" HEAD | grep -q \"\\--wip--\" && git reset HEAD~1";
|
||||
gwch = "git whatchanged -p --abbrev-commit --pretty=medium";
|
||||
gwipe = "git reset --hard && git clean --force -df";
|
||||
gwt = "git worktree";
|
||||
gwta = "git worktree add";
|
||||
gwtls = "git worktree list";
|
||||
gwtmv = "git worktree move";
|
||||
gwtrm = "git worktree remove";
|
||||
gwip = "git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message \"--wip-- [skip ci]\"";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user