Tuỳ chọn cá nhân hoá Git của mình

Tuỳ chọn cá nhân hoá Git của mình

Chia sẻ với mọi người tuỳ chọn cá nhân hoá git của mình

Cấu hình global gitignore

Cái này thì dễ hiểu rồi.

Đầu tiên tạo một file bất kì trong thư mục user home ~/. Tên file nên được đặt là .gitignore_global (hoặc .gitignore cũng được, miễn là đặt ở ~/).

Sau đó chạy lệnh

git config --global core.excludesfile ~/.gitignore_global

Chú ý với Windows CMD hoặc Powershell, đường dẫn thư mục user home sẽ khác, có thể tham khảo thêm tại https://stackoverflow.com/a/7335487

Cuối cùng điền nội dung cần ignore vào file mới tạo.

Đổi kí tự comment trong git editor

Mình có một thói quen (và cũng là convention của team dự án) đó là thường bao gồm của task id. Ví dụ commit message của mình trông thế này:

#3141592654: A almost perfect commit

Cũng liên quan đến editor khi làm việc với 2 câu lệnh git commit --amend hay git rebase -i, để mặc định thì trong edior, những kí tự đứng sau "#" sẽ bị bỏ qua khi lưu (coi như là comment).

Cách giải quyết cũng đơn giản, chỉ cần đổi kí tự comment "#" sang một kí tự khác là được, mình chọn kí tự ";", câu lệnh sẽ như sau:

git config core.commentchar ";"

Giữ lại lịch sử git log trên terminal

Mặc định khi mình gõ git log, git sẽ in thông tin ra màn hình cho đến khi bạn gõ phím Q.

Đôi khi mình muốn giữ lại những thông tin này để tham khảo cho câu lệnh tiếp theo. Để làm được việc này bạn cũng chỉ cần gõ một lệnh.

git config --global --replace-all core.pager "less -X"

Lệnh này vừa làm magic gì thế?

Đơn giản thì git sử dụng một công cụ tên là less để in nội dung ra terminal. Với câu lệnh trên, chúng ta thêm thêm số -X cho câu lệnh chạy less, -X - do not clear screen on exit.

Cải thiện câu lệnh git log

Về cơ bản thì git log cũng bao gồm khá nhiều thông tin rồi, tuy nhiên output của git log chưa thể hiện được các nhánh git một cách trực quan.

Chúng ta có thể sử dụng câu lệnh sau:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

Câu lệnh sẽ cho chúng ta một output khá trực quan với các nhánh git ngay trên terminal. Tất nhiên chúng ta không cần nhớ một câu lệnh dài như trên, chỉ cần gán câu lệnh trên vào một alias cho git là được:

git config --global alias.lol "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

Sau khi chạy câu lệnh trên, chúng ta có thể sử dụng alias qua câu lệnh:

git lol

Đổi editor mặc định cho Git (nếu làm việc trên Linux)

Khi các bạn thực hiện một thao tác với git cần nhiều bước như git commit --amend hay git rebase -i, git sẽ cần sử dụng đến editor. Nếu thao tác trên Linux (cụ thể mình dùng Ubuntu) thì git sẽ cần sử dụng một editor làm giao diện thao tác chi tiết. Trên linux, editor mặc định thường được set là nano, cá nhân mình thấy vim tiện hơn rất nhiều, nhất là với block mode, vì thế việc đầu tiên khi mình làm khi setup môi trường git trên Linux có lẽ là đổi editor mặc định. Chỉ cần một câu lệnh sau:

sudo update-alternatives --config editor

Tiếp độ chỉ cần chọn editor mong muốn (đối với mình là vim) là xong.

Lệnh này thực chất không phải để cấu hình editor cho Git mà là cấu hình editor mặc định cho cả OS luôn (và tất nhiên có tác dụng cho git luôn). Nên nếu các bạn không thích vim hoặc vẫn cần nano trong hoàn cảnh nào đó thì nên cân nhắc.

[Update 2020-04-01] Sử dụng một extension có tên git-pair

https://github.com/spinningarrow/git-pair

Chả biết gọi là extension có đúng không, bản chất thì thằng này là một bash script, được tích hợp vào git qua câu lệnh / alias git pair.

Hiện Mình (và các members trong team hiện tại) dùng thằng này để nhanh chóng thay đổi git author cho mỗi phiên pair programming, do mỗi phiên làm việc lại pair với một người khác nhau.

Hiện author chỉ support cài đặt nhanh cho MacOS qua homebrew. Tuy nhiên bạn vẫn có thể dùng extension này cho Linux hoặc Windows Subsystem for Linux, vì core của extension chỉ là một bash script duy nhất.

Các bạn có thể down file git-pair về (https://github.com/spinningarrow/git-pair/blob/master/git-pair), đặt vào /usr/bin hoặc bất cứ đâu mà hệ thống có thể thực thi được. Cấp quyền thực thi bằng lệnh chmod +x /usr/bin/git-pair là bạn có thể sử dụng được căn bản lệnh này với câu lệnh git-pair.

Next Post