21 điểm bởi ironlung 2023-10-30 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • 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
  1. 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
  2. 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/
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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.

Chưa có bình luận nào.