Khám phá Learn Stream About Jokes
INSIDER Tony's Friends — Insider — ~2 playbook/tuần, Discord riêng, tài nguyên dựng sẵn Tham gia →
Stream
Liên kết

Git commands nản? TUI này cân hết, dev ơi!

· github

TL;DR

Lazygit là một terminal UI (TUI) đơn giản nhưng cực kỳ mạnh mẽ, giúp bạn làm việc với Git nhanh hơn, trực quan hơn. Nó giải quyết nỗi đau khi phải gõ lệnh phức tạp hay chỉnh sửa file TODO thủ công cho những tác vụ như rebase, staging từng dòng.

Nói đơn giản: Giống như có một trợ lý riêng, lo hết mấy cái lặt vặt của Git để mình tập trung code.

Tổng quan

Lazygit là một công cụ mã nguồn mở được phát triển bởi Jesse Duffield, nhằm đơn giản hóa việc tương tác với Git thông qua một giao diện người dùng trực quan ngay trên terminal. Thay vì phải nhớ hàng tá lệnh và flag phức tạp, hay phải vật lộn với các file TODO khi rebase, Lazygit cung cấp một giao diện dạng bảng, cho phép bạn thực hiện các thao tác Git phổ biến chỉ bằng vài phím tắt.

Công cụ này sinh ra từ nỗi “ám ảnh” của dev với Git CLI: nó mạnh thiệt, nhưng sao mấy cái tác vụ như interactive rebase, staging từng dòng, hay bisect lại khó khăn, tốn thời gian đến vậy. Lazygit biến những thứ đó thành hành động trực quan, dễ thực hiện, giúp mình tiết kiệm thời gian và giảm thiểu sai sót. Nó hỗ trợ trên macOS, Linux và Windows, cài đặt cũng đơn giản qua các package manager phổ biến.

Xài vào việc gì?

Đang làm việc mà Git cứ báo conflict, phải stash liên tục Chạy Lazygit, dùng tính năng Worktrees (w). Bạn có thể tạo nhiều worktree cho các nhánh khác nhau, chuyển đổi qua lại mà hông cần stash hay commit dở dang. Tiết kiệm cả đống thời gian và nỗi lo mất code đó.

Muốn rebase interactive mà sợ chỉnh file TODO lộn xộn Mở Lazygit, chọn commit cần rebase, nhấn i. Bạn sẽ thấy giao diện trực quan để squash, fixup, drop, edit commit, hay di chuyển chúng lên xuống bằng ctrl+k/ctrl+j. Xong rồi thì m để continue. Hông còn cảnh gõ pick, squash bằng tay nữa.

Chỉ muốn stage một vài dòng code trong một file lớn Mở Lazygit, vào file cần chỉnh, nhấn space trên từng dòng để stage. Hoặc dùng v để chọn một vùng. Nó trực quan hơn git add -p nhiều, hông cần phải vật lộn với từng hunk hay chỉnh patch file bằng tay giùm bạn.

Lỡ tay làm rối nùi repo, muốn quay lại trạng thái trước đó Nhấn z để undo hành động cuối cùng. Lazygit dùng reflog nên bạn có thể hoàn tác các thao tác liên quan đến commit và branch. Cứ như có nút “Ctrl+Z” cho Git vậy đó, yên tâm hơn nhiều.

Các điểm chính

  • Git CLI mạnh nhưng khó xài, Lazygit giải quyết đúng chỗ đau: Thay vì phải học thuộc lòng cả mớ lệnh phức tạp, Lazygit cung cấp một giao diện trực quan giúp mình thao tác Git dễ dàng. Điều này đặc biệt đúng với các tác vụ như rebase, cherry-pick, hay staging từng dòng. Nó hông phải là thay thế Git, mà là một lớp UI giúp mình xài Git hiệu quả hơn.
  • Tiết kiệm thời gian đáng kể cho các tác vụ lặp lại: Những thao tác như interactive rebase, cherry-pick, hay quản lý stash, worktree có thể tốn rất nhiều thời gian nếu làm bằng CLI. Lazygit biến chúng thành vài cú click/phím, giúp mình tiết kiệm hàng giờ mỗi tuần.
  • Giảm thiểu sai sót, tăng tự tin khi làm việc với Git: Giao diện trực quan giúp mình thấy rõ mình đang làm gì, tránh các lỗi thường gặp khi thao tác Git bằng lệnh. Tính năng undo cũng là một “phao cứu sinh” tuyệt vời.
  • Hỗ trợ đầy đủ các tính năng nâng cao, hông chỉ là cơ bản: Từ bisect, worktrees, custom patches đến commit graph, compare commits, Lazygit đều có đủ. Nó hông chỉ là “Git GUI” đơn giản mà là một công cụ mạnh mẽ cho dev chuyên nghiệp.
  • Tích hợp GitHub PRs giúp quản lý code tốt hơn: Lazygit có thể hiển thị trạng thái Pull Request của các branch trên GitHub (cần cài gh CLI). Điều này giúp mình nắm bắt tình hình code review mà hông cần thoát terminal.

Workflow gợi ý

  1. “Dọn dẹp” code trước khi commit:
    • Mở Lazygit (lazygit hoặc lg).
    • Vào panel Files, dùng space để stage từng dòng/hunk cần commit.
    • Nhấn c để commit, viết message.
  2. Rebase branch feature lên develop mới nhất:
    • Vào panel Branches, chọn branch develop, nhấn r (rebase).
    • Chọn branch feature của mình.
    • Lazygit sẽ mở giao diện rebase interactive, mình có thể squash, fixup các commit cho gọn gàng.
    • Nhấn m rồi continue để hoàn tất.
  3. Tạo worktree mới để xử lý bug nóng:
    • Đang ở branch feature, có việc gấp cần fix bug ở master.
    • Vào panel Branches, chọn master, nhấn w để tạo worktree mới.
    • Lazygit sẽ tạo một thư mục mới với branch master ở đó, mình có thể chuyển qua làm việc ngay mà hông ảnh hưởng đến branch feature hiện tại.

Quick Start

  1. Làm ngay tuần này: Cài Lazygit (brew install lazygit hoặc tải binary) và tập dùng nó cho các tác vụ git add -p (stage từng dòng) và git rebase -i (interactive rebase).
  2. Bước tiếp: Thử dùng Lazygit để cherry-pick commit, amend commit cũ, hoặc quản lý worktrees.
  3. Thói quen duy trì: Thay thế hoàn toàn git status, git diff, git add, git commit bằng Lazygit. Dùng nó làm giao diện chính cho mọi thứ liên quan đến Git.

FAQ

Lazygit có thay thế được Git CLI hông? Hông. Lazygit là một giao diện trực quan cho Git, nó chạy các lệnh Git ở dưới. Mình vẫn cần hiểu Git hoạt động ra sao, nhưng Lazygit giúp mình thao tác dễ hơn.

Nó có hỗ trợ Git Flow hay các workflow khác hông? Có. Lazygit hỗ trợ Git Flow và có thể tùy chỉnh để phù hợp với workflow riêng của bạn thông qua custom commands.

Mấy cái màu trên commit graph có ý nghĩa gì? Màu sắc trên commit graph tương ứng với các tác giả commit khác nhau. Khi bạn di chuyển trên graph, các commit cha của commit đang chọn sẽ được highlight.

Có cần cài thêm gì để dùng tính năng GitHub PRs hông? Cần cài gh CLI (GitHub CLI) và chạy gh auth login một lần để Lazygit có quyền truy cập GitHub. Sau đó nó sẽ tự động hiển thị trạng thái PR.

#git #terminal-ui #productivity #developer-tools #automation
0:00

Chia sẻ ảnh

Bắt đầu gõ để tìm kiếm...