Git là một công cụ phi thường, nhưng tôi chưa tập trung vào cách tốt nhất để hoàn tác các thay đổi đã được đẩy. Đây là tình huống.Git: sử dụng hoàn nguyên hoặc thanh toán để hoàn tác các thay đổi đã được đẩy?
Tôi đang ở trên chi nhánh và đã đẩy nhiều cam kết vào GitHub. Nó đã được quyết định rằng tôi đã đi quá xa xuống hố thỏ, và chúng tôi cần phải loại bỏ một số các cam kết tôi đã làm, và bắt đầu lại. Về cơ bản, tôi cần phải đảo ngược tất cả các cam kết đã được đẩy, quay trở lại một cam kết trước đó. Dưới đây là hai lệnh mà chúng tôi nghĩ phù hợp
git revert # - creates a new commit that "undoes" the changes of one specific commit
git checkout 'commit SHA' # - sets the head to that specific commit, wherein I will re-push to the repo, undoing my changes... I think
Vì vậy, tôi phải không? Tôi có cần thực hiện thanh toán git trên cam kết cụ thể mà tôi muốn quay lại không? Hay có điều gì đó trong quá trình phức tạp này mà tôi không hiểu?
Cảm ơn.
Git reset có hoạt động trên các cam kết đã được đẩy không? –
Điều này sẽ làm ảnh hưởng của việc thanh toán, như người hỏi cho biết, mà không cần đặt lại các tệp cục bộ (mặc dù tất nhiên bạn có thể làm những điều thú vị hơn với các tùy chọn có sẵn). Nhưng hiệu quả về những gì bạn làm cho lịch sử với các cam kết tiếp theo sẽ giống nhau. – ijw
Điều đó đã hiệu quả. Theo hướng dẫn này - http://www.opentaps.org/docs/index.php/How_to_Use_Git:_a_Tutorialtutorial và có vẻ như nó đã hoạt động. –