Skip to content

Commit

Permalink
feat: add git aliases for list, push force, and tag
Browse files Browse the repository at this point in the history
  • Loading branch information
leoliu0605 committed Feb 7, 2024
1 parent 86f8def commit 38e8a29
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,12 @@ git config --global color.branch auto
git config --global pull.rebase true
git config --global push.followTags true

git config --global alias.list "--no-pager config --global --list"
git config --global alias.co checkout
git config --global alias.ss status
git config --global alias.br branch
git config --global alias.re remote
git config --global alias.pushf "push --force-with-lease"
git config --global alias.pf "push --force-with-lease"
git config --global alias.di diff

git config --global alias.ci "commit --allow-empty-message"
Expand All @@ -68,10 +69,10 @@ git config --global alias.ignore '!'"gi() { curl -sL https://www.gitignore.io/ap
git config --global alias.iac '!'"giac() { git init -b main && git add . && git commit -m 'Initial commit' ;}; giac"

# 快速清理工作目錄並復原已追蹤的檔案的指令
git config --global alias.coc '!'"gcoc() { git checkout -- . && git clean -df ;}; gcoc"
git config --global alias.cc '!'"gcc() { git checkout -- . && git clean -df ;}; gcc"

# 快速新增標籤的指令
git config --global alias.taga '!'"gtaga() { git tag -a $1 -m "$1" ;}; gtaga"
git config --global alias.tg '!'"gtg() { git tag -a $1 -m "$1" ;}; gtg"

# Windows 平台專用 TortoiseGit 日誌指令
git config --global alias.tlog "!start 'C:\\PROGRA~1\\TortoiseGit\\bin\\TortoiseGitProc.exe' /command:log /path:."
Expand Down
11 changes: 6 additions & 5 deletions bin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,12 @@ const fs = require('fs');
await cmd('git config --global push.followTags true');

// Git aliases for basic commands
await cmd('git config --global alias.list "--no-pager config --global --list"');
await cmd('git config --global alias.co checkout');
await cmd('git config --global alias.ss status');
await cmd('git config --global alias.br branch');
await cmd('git config --global alias.re remote');
await cmd('git config --global alias.pushf "push --force-with-lease"');
await cmd('git config --global alias.pf "push --force-with-lease"');
await cmd('git config --global alias.di diff');

// Git aliases for commit-related commands
Expand Down Expand Up @@ -105,16 +106,16 @@ const fs = require('fs');

// Git checkout and clean alias configuration
if (os === 'win32') {
await cmd('git config --global alias.coc "!gcoc() { git checkout -- . && git clean -df ;}; gcoc"');
await cmd('git config --global alias.cc "!gcc() { git checkout -- . && git clean -df ;}; gcc"');
} else {
await cmd('git config --global alias.coc \'!\'"gcoc() { git checkout -- . && git clean -df ;}; gcoc"');
await cmd('git config --global alias.cc \'!\'"gcc() { git checkout -- . && git clean -df ;}; gcc"');
}

// Git tag alias configuration
if (os === 'win32') {
await cmd('git config --global alias.taga "!gtaga() { git tag -a "$1" -m "$1" ;}; gtaga"');
await cmd('git config --global alias.tg "!gtg() { git tag -a "$1" -m "$1" ;}; gtg"');
} else {
await cmd('git config --global alias.taga \'!\'"gtaga() { git tag -a "$1" -m "$1" ;}; gtaga"');
await cmd('git config --global alias.tg \'!\'"gtg() { git tag -a "$1" -m "$1" ;}; gtg"');
}

// TortoiseGit log alias configuration for Windows
Expand Down
1 change: 1 addition & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"gcoc",
"giac",
"gtaga",
"gtga",
"leoli",
"longpaths",
"oneline",
Expand Down

0 comments on commit 38e8a29

Please sign in to comment.