การใช้สมุดบันทึก IPython ภายใต้การควบคุมเวอร์ชัน
กลยุทธ์ที่ดีในการรักษาโน้ตบุ๊กIPython ให้อยู่ในการควบคุมเวอร์ชัน รูปแบบสมุดบันทึกค่อนข้างคล้อยตามสำหรับการควบคุมเวอร์ชัน: หากต้องการควบคุมเวอร์ชันโน้ตบุ๊กและเอาท์พุตสิ่งนี้จะทำงานได้ค่อนข้างดี ความรำคาญเกิดขึ้นเมื่อเราต้องการควบคุมการป้อนข้อมูลเฉพาะรุ่นไม่รวมเอาท์พุทของเซลล์ (aka. "build products") ซึ่งอาจเป็น blobs ไบนารีขนาดใหญ่โดยเฉพาะอย่างยิ่งสำหรับภาพยนตร์และแปลง โดยเฉพาะอย่างยิ่งฉันพยายามหาเวิร์กโฟลว์ที่ดีที่: อนุญาตให้ฉันเลือกระหว่างการรวมหรือไม่รวมเอาต์พุต ป้องกันฉันจากการส่งออกโดยไม่ตั้งใจถ้าฉันไม่ต้องการ ช่วยให้ฉันสามารถเก็บเอาท์พุทในรุ่นท้องถิ่นของฉัน อนุญาตให้ฉันดูเมื่อฉันมีการเปลี่ยนแปลงในอินพุตโดยใช้ระบบควบคุมเวอร์ชันของฉัน (เช่นถ้าฉันควบคุมเฉพาะอินพุตเท่านั้น แต่ไฟล์ในเครื่องของฉันมีเอาต์พุตฉันต้องการจะดูว่าอินพุตมีการเปลี่ยนแปลงหรือไม่ ) การใช้คำสั่งสถานะการควบคุมเวอร์ชันจะลงทะเบียนความแตกต่างเสมอเนื่องจากไฟล์ในเครื่องมีเอาต์พุต) อนุญาตให้ฉันอัปเดตสมุดบันทึกการทำงานของฉัน (ซึ่งมีเอาต์พุต) จากสมุดบันทึกที่อัปเดตที่สะอาดแล้ว (update) ตามที่กล่าวไว้ถ้าฉันเลือกที่จะรวมเอาท์พุท (ซึ่งเป็นที่ต้องการเมื่อใช้nbviewerเป็นต้น) ทุกอย่างก็โอเค ปัญหาคือเมื่อฉันไม่ต้องการรุ่นควบคุมผลลัพธ์ มีเครื่องมือและสคริปต์บางอย่างสำหรับการลอกเอาต์พุตของโน้ตบุ๊ก แต่บ่อยครั้งที่ฉันพบปัญหาต่อไปนี้: ฉันส่งเวอร์ชันโดยไม่ตั้งใจด้วยเหตุนี้จึงทำให้ที่เก็บข้อมูลของฉันสกปรก ฉันลบเอาต์พุตเพื่อใช้การควบคุมเวอร์ชัน แต่จะเก็บเอาท์พุทไว้ในเครื่องของฉัน (บางครั้งใช้เวลานานในการสร้างตัวอย่าง) สคริปต์บางตัวที่ดึงเอาท์พุทเปลี่ยนรูปแบบเล็กน้อยเมื่อเทียบกับCell/All Output/Clearตัวเลือกเมนูดังนั้นจึงสร้างเสียงรบกวนที่ไม่พึงประสงค์ในส่วนต่าง นี่คือคำตอบบางคำตอบ เมื่อดึงการเปลี่ยนแปลงไปยังไฟล์เวอร์ชั่นใหม่ทั้งหมดฉันต้องหาวิธีที่จะรวมการเปลี่ยนแปลงเหล่านั้นไว้ในสมุดบันทึกการทำงานของฉันโดยไม่ต้องรันใหม่ทุกอย่าง (update) ฉันได้พิจารณาตัวเลือกหลายอย่างที่ฉันจะกล่าวถึงด้านล่าง แต่ยังไม่พบวิธีแก้ปัญหาที่ครอบคลุมดี โซลูชันที่สมบูรณ์อาจต้องการการเปลี่ยนแปลงบางอย่างกับ IPython หรืออาจต้องพึ่งพาสคริปต์ภายนอกแบบง่าย ๆ ตอนนี้ฉันใช้Mercurialแต่ต้องการโซลูชันที่ทำงานร่วมกับgit ได้ : ทางออกที่ดีที่สุดคือการควบคุมแบบไม่เชื่อเรื่องพระเจ้า ปัญหานี้มีการพูดคุยหลายครั้ง …