Git log nâng cao
Bài đăng này đã không được cập nhật trong 4 năm
Xin chào các bạn, hôm nay mình xin giới thiệu về câc tính năng nâng cao của gitlog để giúp mọi người có thể xem lịch sử git một cách hiệu quả hơn
Xem gitlog một cách gọn gàng
Với git log --oneline
, lịch sử của mỗi commit sẽ được rút gọn lại còn 1 dòng. Nếu bạn chỉ dùng git log --oneline
, git sẽ hiển thị tuần tự id và dòng commit message đầu tiên của commit.
Xem commit cùng các nhánh liên quan
Với lệnh git log --decorate
, bạn có thể xem các nhánh nào đang trỏ tới từng commit nào.
Xem những thay đổi trong code của từng commit
Có 2 loại cờ mà bạn có thể truyền vào để git hiển thị thay đổi qua từng commit. --stat
và -p
.
Với git log --stat
, git sẽ hiển thị số dòng code được thêm vào và xóa đi trong từng commit.
Với git log -p
, git sẽ hiển thị thay đổi trong code của từng commit
Gộp commit theo người viết
Với git shortlog
, bạn có thể gộp commit theo người viết. Git sẽ hiển thị tên người viết, theo sau là số commit và dòng đầu tiên của mỗi commit.
Xem đồ thị nhánh của lịch sử git
Với git log --graph
, git sẽ hiển thị đồ thị hình nhánh của lịch sử git, gồm các commit nào được checkout
từ nhánh nào, v.v
Lọc lịch sử git
Bạn có thể lọc lịch sử git theo các tiêu chí mà bạn muốn.
- Lọc theo số lượng commit
Dùng lệnh
git log -n
, git sẽ hiển thịn
commit gần nhất - Lọc theo ngày
Dùng lệnh
git log --after='YYYY-MM-DD'
, bạn có thể lọc commit sau một ngày nhất định. Dùng lệnhgit log --before='YYYY-MM-DD'
, bạn có thể lọc commit trước một ngày nhất địnhYYYY-MM-DD
cũng có thể được thay thế với các mốc thời gian nhất định bằng tiếng anh, ví dụyesterday
hoặc1 month ago
- Lọc theo tác giả
Dùng lệnh
git log --author='authorname'
, bạn có thể lọc commit theo tác giả - Lọc theo commit message
Dùng lệnh
git log --grep="commit_message"
, bạn có thể lọc theocommit_message
mà bạn cần - Lọc theo file
Dùng lệnh
git log -- file1.js file2.js
, bạn có thể xem các commit theo file - Lọc theo nội dung
Dùng lệnh
git log -S"content"
, bạn có thể lọc commit theo nội dung sửa đổicontent
ở code. - Lọc theo khoảng
Dùng lênh
git log commitA..commitB
, git sẽ hiển thị các commit trong khoảngcommitA
đếncommitB
Nếu dùng lệnh này với nhánh, ví dụgit log master..develop
, git sẽ in ra sự khác biệt giữa 2 nhánhmaster
vàdevelop
- Lọc các merge commit
Với
git log --no-merges
, git hiển thị các commit không phải là merge commit
Lưu ý
Một điểm mạnh của git là bạn có thể kết họp nhiều cờ cùng một lúc. Giả dụ, bạn muốn xem commit rút gọn của người viết TuanAnhK
, từ ngày 2019-6-16
, trong file main.py
, bạn có thể kết hợp các tiêu chí như sau:
git log --oneline --after='2019-6-16' --author='TuanAnhK' -- main.py
Đó là tóm tắt qua một số tính năng hữu dụng của git log. Mình hy vọng mọi người sẽ xem được lịch sử git hiệu quả hơn sau bài viết này. Cảm ơn vì đã đọc.
P/s: Bài đăng được viết khi tác giải đang lắc lư trên tàu hỏa, sẽ không thể tránh khỏi sạn. Có gì mong người đọc thông cảm.
All rights reserved