ฉันจะส่งโค้ดให้ Joomla ได้อย่างไร?


19

ฉันรู้ว่ารหัสมีการจัดการที่https://github.com/joomla/joomla-cms (สำหรับ CMS อย่างน้อย) และฉันควรส่งคำขอดึงเพื่อแนะนำรหัสที่จะเพิ่ม

ฉันสนใจเป็นพิเศษในเคล็ดลับที่ดีเกี่ยวกับการจัดการการมีส่วนร่วมของฉันและตรวจสอบให้แน่ใจว่ารหัสนั้นถูกที่แล้ว

ฉันควรใช้กิ่งต่าง ๆ ใน repo ที่มีการแยกเพื่อจัดการเงินสมทบที่แตกต่างกันหรือไม่? ถ้าอย่างนั้นวิธีที่ดีที่สุดในการเชื่อมโยงสาขานั้นกลับไปที่สาขาหลักใน repo Joomla คืออะไร?

มีวิธีที่ดีในการรักษาสำเนาที่มีการแยกของฉันให้ทันสมัยหรือไม่?

ข้อเสนอแนะใด ๆ ในการไหลที่ดีสำหรับการจัดการกระบวนการนี้จะเป็นประโยชน์จริง ๆ !

คำตอบ:


10

เป็นเรื่องดีเสมอที่จะมีสาขาเฉพาะสำหรับคำขอดึงแต่ละครั้งที่คุณจะทำ

หนึ่งในวิธีที่ง่ายที่สุดในการสร้างสาขาใหม่ที่ทันสมัยคือเพียงใช้ GitHub web gui เพื่อแก้ไขไฟล์ในที่เก็บต้นฉบับ เมื่อบันทึก GitHub จะสร้างสาขาใหม่ในสาขาของคุณโดยอัตโนมัติตามสาขาที่คุณแก้ไขในปัจจุบัน หากคุณต้องการแก้ไขไฟล์เพิ่มเติมคุณสามารถแก้ไขได้ในสาขาที่สร้างขึ้นใหม่และเป็นปัจจุบัน

หากคุณคุ้นเคยกับ Git อยู่นิดหน่อยคุณก็จะทำการรีบู๊ตการแบ่งสาขาแบบแยกย่อยด้วยสาขาดั้งเดิมที่อัปสตรีมดังนั้นจึงซิงค์กันก่อนที่คุณจะสร้างสาขาใหม่ นอกจากนี้หากคุณจำเป็นต้องอัพเดต PR แนะนำให้รีบูทมันแทนที่จะผสานต้นแบบ ในขณะที่ทั้งสองวิธีทำงานผสานการกระทำเป็นเพียงการสร้างประวัติศาสตร์ที่ไม่ดีและยากที่จะสควอช

โดยทั่วไป PRs ควรเป็น "atomic" ซึ่งหมายความว่าหากคุณพยายามแก้ไขบางอย่างให้แก้ไขเฉพาะข้อบกพร่องนั้นเท่านั้น อย่าแก้ไขข้อผิดพลาดที่แตกต่างกันสองรายการใน PR เดียวกันและอย่าทำการแก้ไข codestyle ง่ายต่อการทดสอบและมีโอกาสน้อยที่จะสร้างความขัดแย้งหาก PR อยู่ได้นานกว่าที่คาดไว้เล็กน้อย

และแน่นอนเพิ่มคำอธิบายที่ดีเกี่ยวกับสิ่งที่คุณต้องการทำและคำแนะนำการทดสอบเพื่อสร้างปัญหาและทดสอบการแก้ไขของคุณ :-)


4

สิ่งสำคัญอย่างหนึ่งที่ช่วยในการจัดกลุ่มการมีส่วนร่วมของคุณคือการย้ายการบริจาคแต่ละอย่างไปยังสาขาที่แยกต่างหาก หากคุณกำลังเพิ่มคุณสมบัติให้ใช้ส่วนนำหน้าเช่นfeature-และเพิ่มคำอธิบายคุณลักษณะคำหนึ่งหรือสองคำสำหรับชื่อสาขา ถ้ามันเป็นแก้ไขข้อผิดพลาดในระดับการใช้งานJForm bugfix-jformนี้จะทำให้มันจริงๆgit branch -aง่ายต่อการระบุสิ่งที่คุณกำลังทำงานโดยการตรวจสอบสาขาคอมไพล์ของคุณผ่านทาง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.