- Tìm hiểu cách so sánh commit, xóa các nhánh cũ và tạo alias để tiết kiệm thời gian
- Git aliases
- Tạo alias (bí danh) cho các lệnh dùng hằng ngày để tiết kiệm thời gian làm việc trên terminal
- Ví dụ: thay vì gõ
git checkout master thì nhập co master
- Chỉnh sửa trực tiếp tệp
~/.gitconfig để sửa hoặc thêm lệnh
- Kiểm tra trạng thái kho lưu trữ từ dấu nhắc lệnh
- Để xem trạng thái kho lưu trữ, hãy chạy
git-prompt.sh
- Nếu bạn đang dùng Linux và cài Git bằng trình quản lý gói, tệp này có thể đã có sẵn trong thư mục
/etc/bash_completion.d/
- So sánh commit trên dòng lệnh
- Dùng lệnh
git diff để so sánh khác biệt giữa các phiên bản của cùng một tệp hoặc giữa các commit
- Nếu muốn dùng công cụ trực quan hơn để so sánh diff, có thể dùng
git difftool
- Meld: trình xem/trình soạn thảo hữu ích để so sánh diff một cách trực quan
- Stash các thay đổi chưa commit
- Khi không muốn commit một tính năng còn dang dở nhưng vẫn cần giữ nguyên thay đổi hiện tại, hãy dùng lệnh
git stash để tạm thời cất các thay đổi
- Sau khi hoàn tất việc chỉnh sửa và muốn quay lại các thay đổi trước đó, chạy
$ git stash pop
- Pull thường xuyên
- Nếu dùng GitLab Flow, bạn sẽ thực hiện công việc mới trên feature branch
- Tùy thời gian triển khai tính năng, có thể sẽ có nhiều thay đổi phát sinh trên nhánh
master
- Để tránh xung đột mã ngày càng lớn, nên thường xuyên đưa thay đổi từ nhánh
master vào nhánh đang làm để giảm xung đột sớm và giúp merge vào master dễ hơn
- Tự động hoàn thành lệnh
- Dùng script tự động hoàn thành để sử dụng lệnh nhanh và dễ hơn trong bash, tcsh và zsh
- Để nhập
git pull, chỉ cần gõ ký tự đầu như git p rồi nhấn tab
- Để hiển thị mọi lệnh khả dụng, gõ
git trong terminal rồi nhấn tab+tab
- Thiết lập
.gitignore toàn cục
- Nếu không muốn commit các tệp như
.DS_Store hoặc Vim swp, bạn có thể cấu hình trong tệp .gitignore toàn cục
- Dùng tính năng autosquash của Git làm mặc định
- Dùng autosquash sẽ giúp squash commit dễ hơn trong quá trình rebase tương tác
- Bạn có thể bật mỗi lần rebase bằng
git rebase -i —autosquash, nhưng tiện hơn nếu đặt làm mặc định
- Xóa khỏi nhánh cục bộ những nội dung đã bị xóa ở remote khi fetch/pull
- Các nhánh đã biến mất trên kho remote có thể vẫn còn tồn tại trong kho cục bộ
- Để tự động xóa mỗi lần fetch/pull, dùng
$ git config —global fetch.prune true
- Dùng Git blame hiệu quả hơn
- Git blame giúp xác định ai đã thay đổi dòng nào trong tệp
- Tùy chọn
$ git blame -w # bỏ qua khoảng trắng
$ git blame -M # bỏ qua việc di chuyển văn bản
$ git blame -C # bỏ qua việc di chuyển văn bản sang tệp khác
- Thêm alias để checkout merge request về máy cục bộ
- Merge request bao gồm toàn bộ lịch sử của kho lưu trữ và các commit được thêm vào nhánh liên quan với MR
- Bạn có thể checkout merge request công khai về máy cục bộ khi dự án nguồn là fork của dự án đích
- Alias của HEAD
@ tương đương với HEAD. Dùng nó khi rebase sẽ giúp công việc dễ hơn nhiều
- Khôi phục tệp (reset)
- Khi đang sửa mã mà nhận ra các thay đổi đã thực hiện có vấn đề, bạn cần khôi phục tệp
- Thay vì phải bấm undo cho mọi sửa đổi, bạn có thể reset tệp về
HEAD của nhánh hiện tại
- Ví dụ)
$ git reset —hard HEAD
- Nếu chỉ muốn khôi phục một tệp, hãy chạy lệnh sau
- Ví dụ)
$ git checkout HEAD — path/to/file
- Plugin
git-open
- Nếu muốn truy cập nhanh vào website đang host kho lưu trữ bạn sử dụng, có thể dùng
git-open
- Plugin
git-extras
- Nếu muốn nâng cao khả năng sử dụng Git bằng nhiều lệnh hơn, hãy dùng plugin
git-extras
- Cung cấp
git info (hiển thị thông tin kho lưu trữ), git effort (số commit theo từng tệp)
Chưa có bình luận nào.