15 mẹo giúp cải thiện quy trình làm việc với Git
(insight.infograb.net)- 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 masterthì nhậpco 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/
- Để xem trạng thái kho lưu trữ, hãy chạy
- 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
- Dùng lệnh
- 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
- 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
- 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
mastervào nhánh đang làm để giảm xung đột sớm và giúp merge vàomasterdễ 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 prồi nhấn tab - Để hiển thị mọi lệnh khả dụng, gõ
gittrong terminal rồi nhấn tab+tab
- Thiết lập
.gitignoretoàn cục- Nếu không muốn commit các tệp như
.DS_Storehoặc Vimswp, bạn có thể cấu hình trong tệp.gitignoretoàn cục
- Nếu không muốn commit các tệp như
- 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ớiHEAD. 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ề
HEADcủa nhánh hiện tại- Ví dụ)
$ git reset —hard HEAD
- Ví dụ)
- 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
- Ví dụ)
- 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
- 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
- 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)
- 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
Chưa có bình luận nào.