Cài Git xong rồi… nhưng chưa dùng được gì
Nhiều bạn mới học Git hay gặp cảnh này: cài xong, gõ git commit lần đầu thì Git hỏi ngược lại “bạn là ai?” — và không biết phải trả lời như thế nào.
Cài Git xong rồi… nhưng chưa dùng được gì
Nhiều bạn mới học Git hay gặp cảnh này: cài xong, gõ git commit lần đầu thì Git hỏi ngược lại “bạn là ai?” — và không biết phải trả lời như thế nào. Hoặc clone repo về thì bị lỗi authentication, nhập password mãi không xong.
Bài này giải quyết đúng điểm đó. Sau khi đọc xong, bạn sẽ có một môi trường Git hoàn chỉnh: cài đặt, cấu hình danh tính, kết nối SSH với GitHub/GitLab — và sẵn sàng bắt đầu làm việc thật sự.
Cài đặt Git
Windows
Tải Git for Windows tại git-scm.com. Trong quá trình cài, có vài lựa chọn quan trọng:
- Default editor: chọn VS Code nếu bạn đang dùng, hoặc Notepad++ — tránh chọn Vim nếu chưa quen
- LINE ENDING conversions: chọn “Checkout Windows-style, commit Unix-style” — đây là lựa chọn an toàn nhất khi làm việc với team đa nền tảng
- Các mục còn lại giữ mặc định
Sau khi cài, mở Git Bash (đã được cài kèm) và kiểm tra:
git --version
# git version 2.44.0.windows.1
macOS
Cách nhanh nhất là dùng Homebrew:
brew install git
Nếu chưa có Homebrew, có thể cài qua Xcode Command Line Tools:
xcode-select --install
macOS mới thường đã có Git sẵn, nhưng phiên bản cũ. Homebrew cho bạn bản mới nhất.
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install git
Fedora/RHEL:
sudo dnf install git
Cấu hình danh tính — Bước không thể bỏ qua
Git cần biết bạn là ai trước khi cho phép commit. Đây không phải thông tin đăng nhập — mà là chữ ký đính kèm mỗi commit bạn tạo ra. Team của bạn sẽ thấy tên này trong git log.
git config --global user.name "Nguyen Van A"
git config --global user.email "nguyenvana@example.com"
Dùng đúng email bạn đăng ký GitHub/GitLab — GitHub dùng email này để liên kết commit với tài khoản của bạn (avatar, contribution graph, v.v.).
Cấu hình editor mặc định
Khi git cần bạn nhập nội dung (ví dụ: commit message dài, rebase interactive), nó sẽ mở editor này:
# VS Code
git config --global core.editor "code --wait"
# Vim
git config --global core.editor "vim"
# Nano (dễ hơn Vim cho người mới)
git config --global core.editor "nano"
Nếu dùng VS Code, flag --wait rất quan trọng — nó bảo Git chờ cho đến khi bạn đóng tab trong VS Code mới tiếp tục.
Cấu hình mặc định branch name
Git mới (từ 2.28) cho phép đặt tên branch mặc định. Hiện nay chuẩn ngành dùng main thay vì master:
git config --global init.defaultBranch main
Kiểm tra toàn bộ cấu hình
git config --list --global
Cấu hình được lưu ở file ~/.gitconfig. Bạn có thể mở trực tiếp để xem:
cat ~/.gitconfig
Output sẽ trông như thế này:
[user]
name = Nguyen Van A
email = nguyenvana@example.com
[core]
editor = code --wait
[init]
defaultBranch = main
Ba cấp độ cấu hình Git
Git có 3 cấp cấu hình, ưu tiên từ cao xuống thấp:
| Cấp | Flag | Lưu ở đâu | Phạm vi |
|---|---|---|---|
| Local | --local |
.git/config |
Chỉ repo hiện tại |
| Global | --global |
~/.gitconfig |
Tất cả repo của user |
| System | --system |
/etc/gitconfig |
Tất cả user trên máy |
Ví dụ thực tế: bạn làm freelance cho 2 công ty khác nhau — 1 cái muốn dùng email cá nhân, 1 cái muốn email công ty. Giải pháp:
# Cấu hình global: email cá nhân (mặc định)
git config --global user.email "ca-nhan@gmail.com"
# Vào repo của công ty, override local
cd ~/work/company-project
git config --local user.email "ten@company.com"
Kết nối SSH với GitHub/GitLab
Đây là phần nhiều người ngại nhất — nhưng thực ra chỉ cần làm một lần. Sau đó bạn push/pull không cần nhập password nữa.
Tại sao SSH thay vì HTTPS?
GitHub đã tắt xác thực bằng password thường từ 2021. Nếu dùng HTTPS, bạn phải dùng Personal Access Token — dài và khó nhớ. SSH tiện hơn nhiều: generate một lần, dùng mãi.
Bước 1: Tạo SSH key
ssh-keygen -t ed25519 -C "nguyenvana@example.com"
Terminal sẽ hỏi:
- Enter file to save the key: nhấn Enter để dùng đường dẫn mặc định (
~/.ssh/id_ed25519) - Enter passphrase: có thể để trống, hoặc đặt passphrase để bảo mật hơn
Sau khi chạy, bạn sẽ có 2 file:
~/.ssh/id_ed25519— private key, KHÔNG bao giờ chia sẻ~/.ssh/id_ed25519.pub— public key, cái này sẽ add vào GitHub
Bước 2: Thêm vào SSH agent
# Khởi động SSH agent
eval "$(ssh-agent -s)"
# Thêm key vào agent
ssh-add ~/.ssh/id_ed25519
Trên macOS, thêm vào ~/.ssh/config để key tự động load khi khởi động:
Host github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Bước 3: Copy public key
# macOS
pbcopy < ~/.ssh/id_ed25519.pub
# Linux
cat ~/.ssh/id_ed25519.pub
# Rồi copy thủ công
# Windows (Git Bash)
clip < ~/.ssh/id_ed25519.pub
Bước 4: Add vào GitHub
- Vào GitHub → Settings → SSH and GPG keys → New SSH key
- Title: đặt tên dễ nhận ra, ví dụ “MacBook Pro 2024” hoặc “Dell Work Laptop”
- Key type: Authentication Key
- Key: paste public key vừa copy
- Click Add SSH key
Bước 5: Kiểm tra kết nối
ssh -T git@github.com
Nếu thành công sẽ thấy:
Hi nguyenvana! You've successfully authenticated, but GitHub does not provide shell access.
Đừng lo về dòng “does not provide shell access” — đó là bình thường, Git hoạt động qua SSH protocol riêng.
GitLab thì sao?
Tương tự GitHub, chỉ khác URL kiểm tra:
ssh -T git@gitlab.com
# Welcome to GitLab, @nguyenvana!
Làm việc với nhiều tài khoản Git
Trường hợp hay gặp: bạn có tài khoản GitHub cá nhân và tài khoản GitHub/GitLab công ty, cần dùng trên cùng 1 máy.
Tạo thêm SSH key thứ hai:
ssh-keygen -t ed25519 -C "ten@company.com" -f ~/.ssh/id_ed25519_work
Thêm vào ~/.ssh/config:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
Khi clone repo của công ty, dùng host alias thay vì github.com:
# Thay vì:
git clone git@github.com:company/repo.git
# Dùng:
git clone git@github-work:company/repo.git
Một số alias tiện dụng để bắt đầu
Git alias giúp bạn gõ lệnh ngắn hơn. Đây là một số alias mình hay dùng:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.lg "log --oneline --graph --decorate --all"
Sau đó bạn có thể gõ git st thay vì git status, hoặc git lg để xem lịch sử commit dạng đẹp.
Lỗi hay gặp khi mới setup
“Permission denied (publickey)”
SSH key chưa được add đúng. Kiểm tra lại:
ssh -vT git@github.com
Flag -v hiện chi tiết quá trình kết nối, giúp xác định đang dùng key nào và lỗi ở đâu.
“Please tell me who you are”
Chưa cấu hình user.name và user.email. Chạy lại:
git config --global user.name "Tên của bạn"
git config --global user.email "email@example.com"
“warning: LF will be replaced by CRLF”
Cảnh báo về line ending trên Windows. Không phải lỗi — nhưng nếu muốn tắt:
git config --global core.autocrlf true # Windows
git config --global core.autocrlf input # macOS/Linux
Tổng kết
Bạn vừa hoàn thành setup Git từ đầu đến cuối. Checklist nhanh:
- ✅ Cài Git và kiểm tra phiên bản
- ✅ Cấu hình
user.namevàuser.email - ✅ Chọn editor mặc định
- ✅ Tạo SSH key và kết nối với GitHub/GitLab
- ✅ Kiểm tra bằng
ssh -T git@github.com
Môi trường đã sẵn sàng. Bài tiếp theo chúng ta sẽ đi vào trung tâm của Git: Repository, Working Tree và Staging Area — 3 khái niệm cốt lõi mà nếu hiểu đúng ngay từ đầu, bạn sẽ không bao giờ bị “lạc” khi dùng Git nữa.
Bình luận (0)
Vui lòng đăng nhập để tham gia thảo luận.
Đăng nhập ngayChưa có bình luận nào. Hãy là người đầu tiên!