Khi làm việc với Git, việc theo dõi các thay đổi trong mã nguồn là rất quan trọng. Mỗi commit trong Git không chỉ lưu lại thông tin về mã nguồn mà còn ghi lại danh sách các tập tin đã thay đổi. Bài viết này sẽ hướng dẫn bạn cách tìm danh sách các tập tin thay đổi trong một commit một cách chi tiết và rõ ràng.

Khái niệm về commit trong Git

Commit là một bản ghi lưu trữ các thay đổi mà bạn đã thực hiện trong mã nguồn của dự án. Mỗi commit đều có một mã hash duy nhất, giúp bạn dễ dàng xác định và truy xuất lại.

Cách tìm danh sách các tập tin thay đổi trong một commit

Để xem danh sách các tập tin thay đổi trong một commit cụ thể, bạn có thể sử dụng một số lệnh Git cơ bản. Dưới đây là các phương pháp thông dụng:

1. Sử dụng lệnh git show

Lệnh git show cho phép bạn xem chi tiết về một commit cụ thể, bao gồm danh sách các tập tin đã thay đổi. Cú pháp của lệnh như sau:

git show <commit-hash>

Ví dụ, nếu bạn muốn xem các thay đổi trong commit với mã hash abc1234, bạn sẽ sử dụng lệnh:

git show abc1234

Kết quả sẽ bao gồm:

  • Thông tin về commit (tác giả, thời gian, thông điệp).
  • Danh sách các tập tin đã thay đổi cùng với nội dung thay đổi của chúng.

2. Sử dụng lệnh git diff

Nếu bạn chỉ muốn xem các tập tin đã thay đổi mà không cần xem nội dung thay đổi, bạn có thể sử dụng lệnh git diff với tùy chọn --name-only:

git diff --name-only <commit-hash>^ <commit-hash>

Lệnh này sẽ hiển thị danh sách các tập tin đã thay đổi trong commit cụ thể. Dấu ^ ở phía trước mã commit biểu thị commit cha của commit đó.

Ví dụ:

git diff --name-only abc1234^ abc1234

3. Sử dụng lệnh git log

Bạn có thể sử dụng lệnh git log kết hợp với tùy chọn --name-status để xem danh sách các tập tin thay đổi trong các commit gần đây:

git log --name-status

Kết quả sẽ hiển thị danh sách các commit gần đây cùng với các tập tin đã thay đổi, trạng thái của chúng (thêm, sửa đổi, xóa).

4. Sử dụng lệnh git diff-tree

Lệnh git diff-tree cho phép bạn xem danh sách các tập tin thay đổi trong một commit cụ thể mà không cần xem nội dung chi tiết:

git diff-tree --no-commit-id --name-only -r <commit-hash>

Cú pháp này sẽ chỉ hiển thị danh sách tên các tập tin đã thay đổi trong commit mà không bao gồm thông tin về commit.

Ví dụ:

git diff-tree --no-commit-id --name-only -r abc1234

Tóm tắt

Như vậy, có nhiều cách khác nhau để tìm danh sách các tập tin thay đổi trong một commit trong Git. Bạn có thể sử dụng lệnh git show, git diff, git log, hoặc git diff-tree tùy thuộc vào nhu cầu của mình. Những lệnh này sẽ giúp bạn dễ dàng theo dõi và quản lý các thay đổi trong mã nguồn của dự án. Việc hiểu và sử dụng các lệnh này sẽ giúp bạn làm việc hiệu quả hơn trong môi trường phát triển phần mềm.