Một số thủ thuật nhỏ với Git

Bài viết miêu tả ngắn ngọn về một số thủ thuật về git mà mình đã sử dụng để mọi người tham khảo.

git difftool và git mergetool

Đây là hai câu lệnh giúp bạn kiểm tra sự khác nhau của các file đã thay đổi và những file bị conflict sau khi rebase một cách trực quan hơn thay cho lệnh git diff.

Liệt kê danh sách những công cụ bạn có thể dùng:

git mergetool --tool-help

git difftool --tool-help

Để đặt một công cụ làm mặc định:

git config --global diff.tool meld

git config --global merge.tool meld

với meld là công cụ mình sử dụng và đặt làm mặc định.

meld.png

git update-index --assume-unchanged

Bạn có sửa một file tại local và bạn không muốn commit nó lên repository của bạn. Hơn nữa bạn không muốn thông báo file đã bị sửa mỗi lần git status. Để làm được như vậy thì bạn cần phải thêm file đó vào danh sách những file assume-unchanged bằng cách:

git update-index --assume-unchanged [file]

Xóa một file khỏi danh sách:

git update-index --no-assume-unchanged [file]

git update-index --really-refresh (Xóa toàn bộ)

Xem danh sách các file đã được thêm:

git ls-files -v|grep '^h'

Ngoài ra ở mức độ cao hơn bạn có thể sử dụng:

git update-index --skip-worktree [file]

Để biết khi nào nên dùng assume-unchaged hay là skip-worktree, các bạn có thể tham khảo tại đây.