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, bạn sẽ có cả tiếng mỗi tuần. Git alias không chỉ nhanh hơn — chúng giúp bạn 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 giúp bạn thấy 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 bạn 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 bạn có file mới chưa add, chúng sẽ bị bỏ qua. Alias này解决 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 bạn 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
Ngoài alias, bạn 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 bạn. Nếu bạn thường xuyên cần git diff --staged, thêm alias cho nó. Nếu bạn 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 bạn 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é!