Khi thực hiện sửa lỗi cho một cam kết trước đó, tôi có nên rebase hoặc thêm một cam kết sửa lỗi riêng không?


11

Một kịch bản phổ biến trong phát triển phần mềm là mã xem xét mã của người khác. Một công cụ phổ biến để thực hiện việc này là mở Yêu cầu kéo.

Câu hỏi của tôi là, khi các vấn đề được tìm thấy trong đánh giá, nên thay đổi

  1. được cam kết riêng (cam kết mới)
  2. hoặc nên sửa đổi cam kết hiện tại (giả sử không có ai phân nhánh từ cam kết trước đó của bạn ... vì việc viết lại lịch sử từ một nhánh được chia sẻ là tin xấu).

Đối với kịch bản đầu tiên, thật dễ dàng để theo dõi các thay đổi gia tăng, mặc dù nó thêm một số nhiễu vào lịch sử cam kết. Các tùy chọn thứ hai có những ưu và nhược điểm ngược.


14
Bạn nói "tiếng ồn" với cam kết, nhưng tôi đọc đó là lịch sử chính xác . Tại sao cố gắng che dấu những gì thực sự xảy ra trong lịch sử cam kết? Đánh giá mã là một đánh giá mã, không cần phải vẽ nó như một cái gì đó khác. Phiếu bầu của tôi sẽ được chuyển đến cam kết riêng, và không phải là cuộc nổi loạn trong trường hợp này.
Thomas Stringer

3
Thông thường tôi làm cả hai. Đăng từng cam kết riêng biệt, sau đó khi đánh giá hoàn tất rebase và hợp nhất. GitHub tiếp tục thảo luận về yêu cầu kéo ngay cả sau khi những cam kết đó bị xóa hoặc thay thế, do đó, không có sự mất mát đáng kể nào về lịch sử từ việc nổi loạn. Bạn có được điều tốt nhất của cả hai thế giới.
Ajedi32

1
tôi có cảm xúc lẫn lộn về việc nếu tôi phạm phải điều gì đó mà sau đó tôi đã xác định sự cố hệ thống. những cam kết đó, nếu tôi phát hiện ra khuyết điểm của họ về việc tạo ra tôi, là những điều tôi muốn quay trở lại từ lịch sử. nhưng chúng chỉ là bit, chúng không tốn nhiều tiền, vì vậy có lẽ điều an toàn, hiệu quả nhất và hiệu quả nhất để làm (như trong học thuyết) luôn luôn cam kết riêng biệt và để lại chiếc xe bị hỏng trong mương cho mọi người xem bây giờ và mãi mãi. .... và bạn có thể đánh dấu mỗi nhánh thiếu sót bằng một thông điệp không thể nhầm lẫn để không xây dựng trên nó, vì vậy không có nhánh chia sẻ.
robert bristow-johnson

Bạn có thể giải thích "nổi loạn" là gì và khi nào tôi muốn nó không?
Kilian Foth

Câu trả lời:


23

Bạn cho rằng bản sửa lỗi không giới thiệu bất kỳ vấn đề mới nào và sửa lỗi cũ hoàn tất. Nhưng rất nhiều bản sửa lỗi đáng để tự đánh giá - và điều đó có thể dễ dàng hơn nhiều khi các thay đổi gia tăng có thể được xem xét riêng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.