Sự khác biệt giữa 'git revert' và 'git rebase' trong Git là gì?

Su Khac Biet Giua Git Revert Va Git Rebase Trong Git La Gi



Đôi khi, nhiều lỗi xảy ra trong quá trình phát triển, chẳng hạn như vô tình thêm thông tin nhạy cảm vào các cam kết, thực hiện công việc chưa hoàn thành hoặc đưa ra các lỗi. Hoàn nguyên các thay đổi và viết lại lịch sử nhật ký Git cho phép người dùng Git sửa những lỗi này và đảm bảo cơ sở mã sạch cũng như chính xác.

Trong hướng dẫn này, chúng ta sẽ thảo luận:







Lệnh “git revert” trong Git

Các ' hoàn nguyên git ” lệnh được sử dụng để tạo các xác nhận mới hoàn nguyên các sửa đổi đã thêm trong một lần xác nhận trước đó. Nói một cách đơn giản, nó được sử dụng để hủy các thay đổi đã thêm xảy ra sau khi thực hiện lệnh đặt lại. Ngoài ra, nó không xóa dữ liệu hiện có mà chỉ thêm một cam kết mới ở cuối để hủy các thay đổi trong kho lưu trữ cục bộ.



Hãy xem các minh họa thực tế của lệnh được mô tả ở trên!



Bước 1: Chuyển hướng đến Kho lưu trữ cục bộ

Ban đầu, hãy thực hiện lệnh “ đĩa CD ” lệnh với đường dẫn kho lưu trữ mong muốn và điều hướng đến nó:





cd 'C:\Users\nazma\Git\Git\Demo1'

Bước 2: Tạo và thêm tệp

Sau đó, tạo một tệp mới thông qua “ tiếng vang ” lệnh và theo dõi nó bằng cách sử dụng “ thêm git ' yêu cầu:

echo 'tệp mới của tôi' >> file8.txt && git add file8.txt



Bước 3: Kiểm tra trạng thái

Tiếp theo, hiển thị trạng thái của thư mục làm việc hiện tại bằng cách thực hiện lệnh “git status”:

trạng thái git

Theo đầu ra sau, tệp mới đã được theo dõi thành công:

Bước 4: Lưu thay đổi

Để lưu các thay đổi được theo dõi, hãy sử dụng lệnh sau cùng với thông báo cam kết:

git commit -m 'đã thêm file8.txt'

Bước 5: Xem lịch sử nhật ký Git

Thực hiện lệnh “git log” với “ -một đường thẳng ” cờ để hiển thị từng cam kết trên một dòng:

nhật ký git --oneline

Đầu ra được cung cấp dưới đây chỉ ra rằng tất cả các xác nhận đã được liệt kê thành công. Chúng tôi đã chọn “ 939d65b ” SHA-băm để sử dụng thêm:

Bước 6: Hoàn nguyên thay đổi

Sau đó, sử dụng “ hoàn nguyên git ” với cam kết đã chọn trước đó, tôi muốn hoàn tác các thay đổi:

git hoàn nguyên ĐẦU

Sau khi thực hiện lệnh trên:

  • COMMIT_EDITMSG ” tệp sẽ mở bằng trình chỉnh sửa mặc định.
  • Thêm thông báo cam kết để hoàn nguyên hoạt động.
  • Nhấn phím “ CTRL+S ” phím để lưu các thay đổi và đóng nó:

Theo đầu ra được cung cấp bên dưới, chúng tôi đã hoàn nguyên thành công cam kết cụ thể:

Bước 7: Xác minh

Để xác minh các thay đổi được hoàn nguyên, hãy chạy lệnh sau:

nhật ký git --oneline

Có thể thấy rằng các thay đổi đã được hoàn nguyên thành công trên một HASH cam kết mới:

Lệnh “git rebase” trong Git

Các ' git rebase ” lệnh được sử dụng để hợp nhất hoặc kết hợp nhiều lần xác nhận thành một chuỗi tuyến tính bằng cách sửa đổi và di chuyển trên cơ sở mới. Nó cho phép người dùng tích hợp những thay đổi mới nhất và chuyển chúng từ chi nhánh địa phương này sang chi nhánh địa phương khác. Ngoài ra, nó viết lại lịch sử của các lần xác nhận lên trên một nhánh khác đã bị khởi động lại.

Bây giờ, hãy xem quy trình được nêu dưới đây để hiểu rõ hơn!

Bước 1: Liệt kê các nhánh

Trước hết, hãy thực hiện lệnh “ chi nhánh git ” để xem tất cả các nhánh địa phương:

chi nhánh git

Từ đầu ra đã cho, chúng tôi đã chọn “ tính năng ” chi nhánh để sử dụng thêm:

Bước 2: Chuyển nhánh

Để kiểm tra từ nhánh đang hoạt động này sang nhánh khác, hãy chạy lệnh sau:

tính năng thanh toán git

Bước 3: Chi nhánh Rebase

Sử dụng ' git rebase ” với tên nhánh cục bộ để nối thêm nó:

git rebase chủ

Bước 4: Hiển thị Lịch sử Nhật ký

Để xác minh các thay đổi bị từ chối, hãy chạy lệnh “ lệnh git log” bằng lệnh “–oneline ' lựa chọn:

nhật ký git --oneline

Sự khác biệt giữa “git revert” và “git rebase” trong Git là gì?

Sự khác biệt giữa “ hoàn nguyên git ” lệnh và “ git rebase ” lệnh được liệt kê trong bảng sau: thế là xong! Chúng tôi đã giải thích “ git rebase” và “git revert ” lệnh trong Git.

Phần kết luận

Các ' hoàn nguyên git ' Và ' git rebase ” là hai lệnh khác nhau được sử dụng để quản lý và thao tác lịch sử phiên bản. Cả hai đều có thể được sử dụng cho các mục đích khác nhau, chẳng hạn như “ hoàn nguyên git ” lệnh được sử dụng để tạo một cam kết mới hoàn nguyên các thay đổi đã thêm trong cam kết. Tuy nhiên, “ git rebase ” lệnh được sử dụng để hợp nhất nhiều lần xác nhận thành một chuỗi tuyến tính bằng cách di chuyển hoặc sửa đổi các lần xác nhận. Trong hướng dẫn này, chúng tôi đã minh họa sự khác biệt giữa “ git hoàn nguyên' và 'git rebase ” lệnh trong Git.