Khi làm việc với Git, điều quan trọng là hiểu cách hoàn tác các thay đổi ở các giai đoạn khác nhau—cho dù trong thư mục làm việc, vùng tạm, hay sau khi đã cam kết thay đổi vào kho lưu trữ cục bộ. Hướng dẫn này sẽ hướng dẫn bạn qua các lệnh Git cần thiết để quản lý và hoàn tác thay đổi một cách hiệu quả, đảm bảo quá trình kiểm soát phiên bản của bạn diễn ra suôn sẻ và không có lỗi.
Sửa đổi Tệp trong Thư mục Làm việc nhưng Chưa Thêm vào Vùng Tạm
Khi bạn thực hiện thay đổi đối với các tệp trong thư mục làm việc nhưng chưa thêm chúng vào vùng tạm, bạn có thể dễ dàng bỏ qua những thay đổi này nếu cần.
Bỏ qua thay đổi đối với một tệp cụ thể
git checkout [filename]
Sử dụng lệnh này để hoàn tác một tệp cụ thể về trạng thái cam kết cuối cùng của nó, hoàn tác mọi sửa đổi mà bạn đã thực hiện.
Bỏ qua thay đổi đối với tất cả các tệp
git checkout .
Nếu bạn muốn bỏ qua các thay đổi trong tất cả các tệp trong thư mục làm việc của mình, lệnh này sẽ đặt lại chúng về trạng thái cam kết cuối cùng.
Xem các thay đổi cụ thể đã thực hiện
git diff [filename]
Trước khi bỏ qua các thay đổi, bạn có thể muốn xem những gì mình đã sửa đổi. Lệnh này sẽ hiển thị các thay đổi cụ thể đã được thực hiện đối với tệp.
Hoàn tác Tệp đã Thêm vào Vùng Tạm
Nếu bạn đã thêm các tệp vào vùng tạm (git add
) nhưng chưa cam kết chúng, bạn vẫn có thể hoàn tác hành động này.
Hoàn tác các tệp đã thêm vào vùng tạm
git reset HEAD [filename]
Lệnh này xóa tệp khỏi vùng tạm, nhưng các thay đổi vẫn còn trong thư mục làm việc.
Hoàn tác tất cả các tệp trong vùng tạm
git reset HEAD .
Nếu bạn muốn xóa tất cả các tệp khỏi vùng tạm, hãy sử dụng lệnh này. Các thay đổi sẽ được giữ lại trong thư mục làm việc.
Sau khi hoàn tác, nội dung trong vùng tạm bị xóa, nhưng các sửa đổi trong thư mục làm việc được giữ lại, cho phép bạn thực hiện thêm thay đổi hoặc chỉnh sửa.
Hoàn tác Thay đổi đã Cam kết vào Kho Lưu trữ Cục bộ
Đôi khi, bạn có thể cần hoàn tác các thay đổi đã được cam kết vào kho lưu trữ cục bộ nhưng chưa được đẩy lên kho lưu trữ từ xa.
Hoàn tác cam kết nhưng giữ lại các thay đổi trong vùng tạm và thư mục làm việc
git reset --soft [commit id]
Lệnh này hoàn tác cam kết, nhưng các thay đổi vẫn còn trong vùng tạm và thư mục làm việc, cho phép bạn sửa đổi cam kết hoặc thực hiện thêm sửa đổi.
Hoàn tác cam kết và bỏ tạm các thay đổi, nhưng giữ lại các thay đổi trong thư mục làm việc
git reset --mixed [commit id]
Tùy chọn này hoàn tác cam kết và bỏ tạm các thay đổi, nhưng các sửa đổi của bạn vẫn hiện diện trong thư mục làm việc.
Hoàn tác cam kết và bỏ qua tất cả các thay đổi
git reset --hard [commit id]
Hãy sử dụng lệnh này một cách thận trọng. Nó sẽ hoàn tác cam kết, bỏ tạm các thay đổi và bỏ qua tất cả các sửa đổi trong thư mục làm việc.
Việc hiểu các lệnh Git này giúp bạn quản lý các thay đổi mã của mình một cách hiệu quả, giúp bạn điều hướng qua các giai đoạn phát triển khác nhau với sự tự tin. Cho dù bạn đang bỏ qua các sửa đổi không mong muốn, bỏ tạm các tệp hay hoàn tác các cam kết, những công cụ này rất cần thiết để duy trì quyền kiểm soát đối với cơ sở mã của bạn.