Trợ Lý Lệnh Git & Bảng Tra Cứu
Chọn việc bạn muốn làm với git để nhận đúng lệnh cần chạy, giải thích dễ hiểu cho từng bước, mức độ rủi ro và cách hoàn tác — kèm bảng tra cứu có tìm kiếm, công cụ tạo và kiểm tra Conventional Commits, công cụ thử mẫu .gitignore và trình tạo các lệnh shell hay dùng.
Các bước sử dụng
- Ở tab Tôi muốn…, chọn một việc trong danh sách — hoàn tác commit cuối, gộp commit, cherry-pick một dải, đồng bộ fork, tìm ai đã sửa một dòng và nhiều việc khác.
- Điền vài thông tin cần thiết: tên nhánh, số commit, và các công tắc như "đã push". Lệnh cập nhật ngay khi bạn gõ.
- Đọc các lệnh được đánh số. Nhãn cho biết mức rủi ro: An toàn, Viết lại lịch sử cục bộ hoặc Viết lại lịch sử dùng chung. Cờ nguy hiểm có thêm cảnh báo ngay dưới lệnh.
- Xem Cách hoàn tác trước khi chạy, rồi bấm Chép tất cả hoặc nút chép cạnh từng lệnh.
- Tìm trong tab Bảng tra cứu theo tên lệnh hoặc theo việc cần làm (vd
stashhayhoàn tác). - Ở tab Thông điệp commit, điền vào Tạo Conventional Commit, hoặc dán thông điệp có sẵn vào Kiểm tra commit message để xem nó vi phạm quy tắc nào.
- Ở tab Thử .gitignore, dán quy tắc vào Các mẫu .gitignore và danh sách đường dẫn bên cạnh. Mỗi đường dẫn hiện Bị bỏ qua, Không bị bỏ qua, Được đưa lại hoặc Bị bỏ qua (thư mục cha), kèm dòng đã quyết định.
- Ở tab Lệnh shell, chọn Lệnh (docker run, find, rsync, ssh, ufw…), chỉnh tuỳ chọn và đọc Từng phần có tác dụng gì. Dán bất kỳ lệnh nào vào Kiểm tra lệnh trước khi chạy để phát hiện cờ phá huỷ dữ liệu.
Mẹo
- Khi commit đã push, hãy hoàn tác bằng
git revertthay vìgit reset— công cụ tự chuyển sang revert ngay khi bạn bật "đã push". - Dùng
git push --force-with-lease, đừng dùng--forcetrần: lệnh này từ chối ghi đè commit mà người khác vừa push. - Ngay sau reset, rebase hoặc merge,
ORIG_HEADtrỏ tới vị trí cũ của bạn. Về sau,git reflogvẫn lưu mọi vị trí trong khoảng 90 ngày. - Thao tác xoá của
findvàrsync --deleteluôn bắt đầu với Chạy thử (xem trước an toàn) đang bật. Đọc danh sách trước rồi mới tắt. - Giá trị bạn gõ được đặt trong nháy đơn theo chuẩn POSIX, nên tên có dấu cách,
$hay dấu nháy vẫn được truyền nguyên vẹn.
Câu hỏi thường gặp
Lệnh nào nguy hiểm trên nhánh dùng chung?
Mọi lệnh thay thế commit mà người khác đã có: git reset, git rebase, git commit --amend hoặc gộp commit rồi git push --force, git filter-repo, và xoá nhánh hay tag trên remote. Trên nhánh dùng chung, hãy hoàn tác bằng git revert và kết hợp bằng git merge — cả hai chỉ thêm lịch sử. Công cụ gắn nhãn các việc này là Viết lại lịch sử dùng chung.
Lệnh hay kho mã của tôi có bị gửi đi đâu không?
Không. Mọi thứ được tạo ngay trong trình duyệt. Trang không hề thấy kho mã của bạn và không có gì bạn gõ bị tải lên.
Vì sao !build/keep.txt không đưa tệp của tôi trở lại?
Vì build/ loại trừ cả thư mục, và git không bao giờ nhìn vào bên trong thư mục đã loại trừ. Hãy bỏ qua nội dung thư mục (build/*) thì mẫu phủ định sẽ có tác dụng. Công cụ thử hiển thị trường hợp này là Bị bỏ qua (thư mục cha).
reset --soft, --mixed và --hard khác nhau thế nào?
Cả ba đều lùi nhánh về trước. --soft giữ thay đổi ở trạng thái đã stage, --mixed giữ thay đổi trong tệp nhưng chưa stage, còn --hard vứt bỏ chúng cùng mọi chỉnh sửa chưa commit.