yleth.dev

VI EN

GitIdentitree

Công cụ CLI viết bằng Go giúp tự động chuyển đổi profile Git và SSH key theo thư mục làm việc, dựa trên includeIf.

CLI HOÀN THÀNH

Giới thiệu

GitIdentitree là công cụ dòng lệnh (CLI) nhỏ gọn viết bằng Go, giúp bạn quản lý nhiều tài khoản Git trên cùng một máy tính. Nếu bạn thường xuyên phải chuyển đổi giữa dự án công ty, tài khoản cá nhân và các dự án mã nguồn mở, GitIdentitree sẽ tự động nhận diện thư mục bạn đang đứng để kích hoạt đúng profile (tên, email, GPG key và SSH key).

Tính năng chính

Quản lý nhiều profile Git

  • Tạo nhiều profile Git cho từng mục đích (công việc, cá nhân, mã nguồn mở).
  • Cấu hình tên tác giả (name), email và GPG signing key riêng cho từng profile.

Tự động chuyển profile theo thư mục

  • Tự động áp dụng profile tương ứng khi bạn cd vào thư mục dự án.
  • Sử dụng cơ chế includeIf có sẵn của Git nên hoạt động mượt mà và tin cậy.
  • Không cần chạy tiến trình nền hay tốn tài nguyên hệ thống.

Tích hợp SSH key

  • Tự động nạp hoặc giải phóng SSH key theo từng profile khi bạn chuyển thư mục.
  • Hỗ trợ shell autocompletion cho Bash, Zsh, Fish và PowerShell.

Giao diện dòng lệnh (TUI) trực quan

  • Giao diện terminal dễ dùng, xây dựng bằng Bubble Tea và Huh.
  • Quản lý và xem danh sách các thư mục đang được gán profile.

An toàn khi thao tác

  • Ngăn chặn việc lỡ tay xóa profile đang được gán cho dự án.
  • Chuẩn hóa đường dẫn và tự động mở rộng dấu ~.

Cài đặt

Hỗ trợ macOS, Linux và Windows qua pre-built binary hoặc cài từ mã nguồn:

# macOS (Apple Silicon)
curl -L https://github.com/thuanlegit/git-identitree/releases/latest/download/gidtree-darwin-arm64 -o gidtree
chmod +x gidtree
sudo mv gidtree /usr/local/bin/

Cách dùng nhanh

# Khởi tạo
gidtree init

# Tạo profile mới
gidtree profile create

# Gán profile vào thư mục làm việc
gidtree map work ~/projects/work

# Kiểm tra
cd ~/projects/work
git config user.email

← Về danh sách sản phẩm