7 Git Alias Giúp Bạn Tiết Kiệm 1 Giờ Mỗi Ngày

Tại Sao Git Alias Quan Trọng?
Mỗi developer đều gõ hàng trăm lệnh git mỗi ngày. Nếu mỗi lệnh tiết kiệm được 3-5 giây, nhân lên với tần suất sử dụng, có thể tiết kiệm cả tiếng mỗi tuần. Git alias không chỉ nhanh hơn — chúng giúp suy nghĩ bằng workflow thay vì gõ lệnh.
Đã thử nhiều cách organized workflow, và cuối cùng quay lại alias đơn giản. Đây là 7 alias không thể sống thiếu.
1. git st — Thay git status
git config --global alias.st "status -sb"
Lệnh git status mặc định khá verbose. Flag -sb hiển thị branch name + file changes một cách compact hơn.
Kết quả thay đổi:
# Trước: (nhiều dòng, chiếm cả màn hình)
# Sau:
M src/app.ts
M src/utils.ts
?? new-file.txt
Đây là alias dùng nhiều nhất — mỗi lần gõ git st thay vì git status -sb, mỗi ngày tiết kiệm khoảng 20 giây.
2. git cm — Commit Nhanh
git config --global alias.cm "commit -m"
Đơn giản nhưng hiệu quả. Thay vì:
git add . && git commit -m "fix: resolve auth bug"
Bạn gõ:
git add . && git cm "fix: resolve auth bug"
3. git lg — Log Đẹp Hơn
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
Đây là alias "đồ xộ" nhất nhưng đáng để setup. Bạn sẽ thấy graph visualization của branch history, kèm tên author và thời gian commit.
git lg
# * a1b2c3d - (HEAD -> main) fix: resolve auth bug (2 hours ago) <Nam>
# * e4f5g6h - feat: add user profile page (5 hours ago) <Nam>
# * i7j8k9l - (origin/main) chore: update dependencies (1 day ago) <Dependabot>
4. git undo — Hủy Commit Gần Nhất
git config --global alias.undo "reset --soft HEAD~1"
Đây là alias "cứu cánh" khi commit nhầm hoặc cần sửa nội dung commit. Flag --soft giữ nguyên staged changes, chỉ bỏ commit message.
Lưu ý: Dùng --hard nếu muốn xóa luôn changes (⚠️ dùng cẩn thận).
5. git stash-all — Stash Tất Cả
git config --global alias.stash-all "stash --include-untracked"
Lệnh git stash mặc định chỉ stash tracked files. Nếu có file mới chưa add, chúng sẽ bị bỏ qua. Alias này giải quyết vấn đề đó.
git stash-all -m "wip: working on feature X"
# Bây giờ working directory sạch sẽ
6. git aliases — Danh Sách Tất Cả Alias
git config --global alias.aliases "config --get-regexp alias"
Khi có nhiều alias và quên mất đã set gì, lệnh này giúp list tất cả. Rất hữu ích khi mới chuyển máy hoặc reset config.
git aliases
# alias.st status -sb
# alias.cm commit -m
# alias.lg log --graph --pretty=format:...
7. git recent — Xem Commit Gần Nhất
git config --global alias.recent "log --oneline --graph --decorate -15"
Thay vì git log kéo dài hàng chục dòng, alias này chỉ hiện 15 commit gần nhất theo dạng compact. Đủ để hình dung context mà không bị information overload.
Bonus: Shell Function Cho Git Workflow
Có thể thêm shell function vào ~/.zshrc:
# Quick branch + commit workflow
gac() {
git add -A && git cm "$*"
}
# Usage: gac fix: resolve auth bug
# Checkout branch mới từ main
gco-new() {
git checkout main && git pull && git checkout -b "$1"
}
# Usage: gco-new feature/user-profile
Setup Nhanh
Tạo file ~/.gitconfig với nội dung:
[alias]
st = status -sb
cm = commit -m
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
undo = reset --soft HEAD~1
stash-all = stash --include-untracked
aliases = config --get-regexp alias
recent = log --oneline --graph --decorate -15
Hoặc dùng lệnh git config --global như trên để thêm từng alias.
Kết Luận
7 alias này chỉ là điểm khởi đầu. Điểm quan trọng nhất là: tùy chỉnh theo workflow của riêng mình. Nếu thường xuyên cần git diff --staged, thêm alias cho nó. Nếu hay merge branches, tạo alias git m.
Mục tiêu không phải gõ ít hơn — mục tiêu là ít cognitive load hơn, để não tập trung vào code thay vì nhớ lệnh git.
Bạn đang dùng alias nào? Chia sẻ trong comment nhé!
Related Posts
Zoom-in: Git Worktree
git worktree — công cụ mạnh mẽ nhưng ít người dùng của Git. Bên dưới là cơ chế liên kết thông minh giữa các working tree độc lập và cơ sở dữ liệu commit dùng chung thông qua file text .git.
Zoom-in: Git Commit
git commit -m 'fix bug' — một lệnh quen thuộc. Bên dưới là một cấu trúc dữ liệu content-addressed, bất biến, giải thích tại sao rebase, cherry-pick, và merge hoạt động như chúng vốn có.
AI Viết Code Chậm Hơn, Chất Lượng Hơn: Tại Sao Cơn Sốt '10x Productivity' Đang Bị Thách Thức
Bài viết của Nolan Lawson đạt 1.219 điểm trên Hacker News cho thấy một hướng đi khác: dùng AI để review bug, tìm edge case, và viết code chất lượng cao — chậm hơn nhưng bền hơn.