เมื่อทำงานกับการแก้ไขหรือคุณสมบัติบางครั้งฉันสะดุดปัญหาเล็ก ๆ อื่น ๆ ที่สามารถปรับปรุงได้ทันทีในไม่กี่วินาที เมื่อฉันทำพวกเขาทันทีจากนั้นส่งมอบคุณสมบัติ / แก้ไขที่เสร็จสิ้นแล้วคอมมิชชันมีมากกว่าหนึ่งสิ่ง ยกตัวอย่างเช่นหรือ"add feature X and code clean up"
"fix bug X and improved logging"
มันจะเป็นการดีกว่าถ้าคุณแยกมันออกเป็นสองคอมมิชชัน ในกรณีที่การเปลี่ยนแปลงสองอย่างเกิดขึ้นในไฟล์เดียวกันฉันไม่สามารถเพิ่มไฟล์เดียวคอมมิทเพิ่มและอีกครั้ง ดังนั้นฉันเห็นสามตัวเลือกต่อไปนี้:
จงใจมองข้ามสิ่งที่ไม่เกี่ยวข้องขณะทำงานกับบางสิ่ง
คัดลอกไฟล์ที่มีการเปลี่ยนแปลงสองรายการย้อนกลับรวมการเปลี่ยนแปลงหนึ่งกระทำรวมถึงการเปลี่ยนแปลงอื่นกระทำอีกครั้ง
อย่าเปลี่ยนสิ่งเล็ก ๆ ที่ไม่เกี่ยวข้อง แต่เพิ่มไปยังรายการสิ่งที่ต้องทำและทำในภายหลัง
ฉันไม่ชอบทั้งสามตัวเลือกเพราะเหตุผลดังต่อไปนี้:
คุณภาพของรหัสอาจประสบได้หากไม่สามารถแก้ไขปัญหาเล็ก ๆ ได้ และฉันก็รู้สึกไม่ดีถ้าฉันพลาดโอกาสที่จะปรับปรุงบางสิ่งโดยไม่ต้องใช้ความพยายามมาก
นี่เป็นการเพิ่มการทำงานด้วยตนเองและเกิดข้อผิดพลาดได้ง่าย
นี่เป็นสิ่งที่ดีสำหรับโทโดที่ไม่ได้เล็ก แต่เพิ่มไอเท็มเล็ก ๆ ลงในรายการสิ่งที่ต้องทำและกลับมาอีกครั้งในภายหลังมักใช้เวลานานกว่าการแก้ไขทันที
คุณจัดการกับสถานการณ์เช่นนี้ได้อย่างไร?
git add -p
มากซึ่งช่วยให้ฉันสามารถเลือกส่วนต่าง ๆ ของไฟล์ที่ฉันต้องการมอบหมาย หากการทำความสะอาดแยกออกจากกันอย่างเพียงพอนี่เป็นเรื่องง่ายที่จะทำ ถ้าการแยกยากขึ้นฉันยอมรับสถานะในสาขาชั่วคราวจากนั้นเพิ่มการเปลี่ยนแปลงในสาขาจริงของฉันด้วยตนเองจนกว่าจะไม่มีความแตกต่างกับสาขาชั่วคราว มันต้องใช้งานมากขึ้น แต่อนุญาตให้ฉันตรวจสอบว่าการกระทำแต่ละอย่างทำงานด้วยตัวเอง