Git Log và Undo Commit

0
6

Bài viết thuộc serie: Toàn Tập GIT Cơ Bản

Một việc bạn sẽ khá thường xuyên làm trong Git nếu làm việc theo nhóm đó là kiểm tra xem những ai đã commit vào dự án bạn đang làm việc, cũng như cách bạn undo lần commit trước đó nếu như bạn cảm thấy mình thiếu một tập tin nào đó trong lần commit trước để bổ sung vào.

Xem git log

Để xem lịch sử của các lần commit trước đó, bạn sử dụng lệnh git log là sẽ thấy.

Bạn thấy chứ? Mỗi lần commit sẽ có một checksum riêng, và nó cũng có ghi rõ ai là người commit vào và commit vào ngày bao nhiêu, lúc nào.

Ngoài ra, bạn có thể chèn thêm tham số -p vào để hiển thị chi tiết của mỗi lần commit.

Note: Nếu log quá dài, dùng phím mũi tên lên xuống để đọc tiếp và ấn Ctrl + Z để thoát.

Hoặc nếu bạn muốn chỉ muốn xem 1 lần commit gần nhất thì thêm tham số -1 vào.

Bạn còn có thể sử dụng thêm một số tùy chọn xem log sau để tối ưu hơn quy trình đọc log.

  • --since, --after: Xem các lần commit kể từ ngày nhất định.
  • --until: Xem các lần commit trước từ ngày nhất định.
  • --author: Xem các lần commit của một người nào đó.
  • --grep: Lọc các chuỗi trong log và in ra.

Ví dụ:

Cái --pretty là gì mình sẽ nói ở dưới.

Lọc log với --pretty

Tham số --pretty rất có ích nếu bạn muốn lọc xem một đối tượng nào đó trong lịch sử commit, ví dụ như chỉ xem lời nhắn commit hoặc chỉ xem email của người commit.

Cách sử dụng tham số --pretty là bạn phải viết kèm các tag của nó như sau:

Các %tag phải dược đặt trong cặp dấu ngoặc kép và bạn có thể sử dụng nhiều %tag khác nhau.

Danh sách các %tag:

  • %H –  Commit hash
  • %h – Abbreviated commit hash
  • %T – Tree hash
  • %t – Abbreviated tree hash
  • %P – Parent hashes
  • %p – Abbreviated parent hashes
  • %an – Author name
  • %ae – Author e-mail
  • %ad – Author date (format respects the –date=option)
  • %ar – Author date, relative
  • %cn – Committer name
  • %ce – Committer email
  • %cd – Committer date
  • %cr – Committer date, relative
  • %s – Subject

Ví dụ:

Thủ thuật xem log đẹp hơn

Bạn có thể thấy mỗi khi gõ git log mà không có các tham số kèm theo thì nó hiện ra rất khó nhìn. Tuy nhiên có một cách để bạn có thể làm gọn cái log mặc định, và thêm màu sắc cho nó để bạn dễ nhìn hơn.

Trước tiên bạn copy lệnh này để thiết lập.

Bây giờ để xem log, bạn chỉ cần gõ git lg để xem. Bạn có thể kết hợp nó với các tham số ở trên. Cái quan trọng nhất là với cách xem này, bạn có thể thấy HEAD (con trỏ của branch hiện tại) mà sau này khi bạn tìm hiểu tới branch bạn sẽ thấy nó rất có ích.

Beauty Git Log
Beauty Git Log

Undo Commit

Nếu bạn cần xóa bỏ lần commit trước và cần undo để commit lại thì có thể sử dụng tham số --amend trong lệnh git commit.

 

Lưu ý rằng undo nghĩa là bạn quay trở lại bước commit lần trước, do vậy nếu cần bổ sung tập tin nào vào để commit thì hãy đưa tập tin đó vào Staging Area trước.

Bỏ tập tin ra khỏi Staging Area

Nếu bạn đã đưa một tập tin nào đó vào Staging Area nhưng bây giờ bạn muốn loại bỏ nó ra khỏi đây để không phải bị commit theo thì có thể sử dụng lệnh git reset HEAD tên_file. HEAD là cái gì thì tới phần phân nhánh (Branch) mình sẽ giải thích.

Lời kết

Trong bài này bạn đã biết cách thao tác để xem lại lịch sử của những lần commit để theo dõi các lần commit tốt hơn, cũng như cách bạn thao tác phục hồi liên quan đến việc Commit. Tuy nhiên, bạn có thấy là mình đã có nói qua về việc quản lý phiên bản trong Git chưa? Chưa có đúng không? Được rồi, vậy thì ở bài sau mình sẽ hướng dẫn các bạn làm quen với tính năng Tagging (đánh dấu) của Git và đây là cách để chúng ta quản lý từng phiên bản trong mã nguồn.

4.8/59 ratings
Nếu yêu thích LocDang.Com thì hãy đăng ký theo dõi để nhận tin tức mới nhất và đừng quên Like và Follow mình trên Facebook Twitter nhé.

Để lại bình luận

avatar