Tôi sẽ cố gắng hết sức để mô tả ngắn gọn tình hình hiện tại của mình và sẽ biết ơn nhất đối với một số lời khuyên.Làm cách nào để tôi có thể hợp nhất các cam kết đã được hoàn nguyên trong github?
Tôi đã hợp nhất trong một chi nhánh tính năng lớn của mã sáng nay hóa ra có lỗi nghiêm trọng. Để hoàn tác nó, đồng nghiệp của tôi đã hoàn nguyên việc hợp nhất (trong đó có một số cam kết) trong GitHub và sau khi kéo, tất cả dường như là tốt.
Sau khi thực hiện một số chỉnh sửa đối với nhánh tính năng, tôi muốn đảm bảo rằng nó có thể hoạt động trở lại, vì vậy tôi đã sử dụng 'git merge master' trên nhánh tính năng của mình (như tôi luôn làm) để đảm bảo mọi thứ được cập nhật .
Đáng ngạc nhiên, kết quả của việc đó là xóa tất cả mã mới mà tôi cần phải hợp nhất trở lại vào kho lưu trữ chính!
Điều này có phải do sự hoàn nguyên xảy ra trên chi nhánh không? Nhìn qua nhật ký git, tôi có thể thấy rằng tất cả các cam kết vẫn còn đó. Và thậm chí kỳ lạ hơn, yêu cầu kéo trong github không hiển thị bất kỳ cam kết ban đầu nào trong diff, chỉ những gì tôi đã thay đổi kể từ khi hoàn nguyên.
Ai đó có thể giúp tôi hiểu được điều này không?
Tôi biết một số người đã đề xuất chỉ cần hoàn nguyên việc hoàn nguyên, nhưng tôi cần phải quay trở lại trong sạch, vì những thay đổi mà tôi đã thực hiện đối với cấu trúc của nhiều mã.
chào bạn. thử 'git reflog' trong bảng điều khiển của bạn. nó sẽ cho bạn thấy lịch sử đầy đủ của những gì đã được thực hiện để repo của bạn (không chi nhánh nhưng repo đầy đủ) .checkout các điểm mong muốn trong thời gian và tiếp tục từ đó. – CodeWizard
Cảm ơn bạn đã bình luận! Trong trường hợp của tôi, các cam kết được xen kẽ trong suốt. Chi nhánh đã được thực hiện trong vài tháng, và không có một chỗ sạch cho tôi để thiết lập lại.Tôi nghĩ rằng rebase là những gì tôi cần, chỉ cần cố gắng tìm ra cách loại bỏ hoàn toàn các cam kết mà tôi đang thêm vào từ chi nhánh tính năng – Lizza
Ok, bị post nó là câu trả lời - rebase bạn cần – CodeWizard