คำตอบ:
เป็นการดีที่คุณ:
หากเป็นการร้องขอคุณสมบัติใหม่อย่าเริ่มการเข้ารหัสก่อน อย่าลืมโพสต์ปัญหาเพื่อหารือเกี่ยวกับคุณสมบัติใหม่
หากคุณลักษณะดังกล่าวเป็นไปด้วยดีและมี +1 บางส่วนหรือเจ้าของโครงการอนุมัติให้กำหนดปัญหาให้กับตัวเองแล้วทำตามขั้นตอนด้านบน
บางโครงการจะไม่ใช้ระบบคำขอดึง ตรวจสอบกับผู้แต่งหรือรายชื่อผู้รับจดหมายเกี่ยวกับวิธีที่ดีที่สุดในการรับรหัสของคุณกลับเข้าสู่โครงการ
เพื่อเพิ่มคำตอบของ Yannเมื่อคุณแยกโครงการแล้วคุณสามารถพัฒนาในสาขาใด ๆ ที่คุณต้องการ (อันใหม่หรืออันใดอันหนึ่งจากโครงการเดิม)
จำไว้ว่า:
origin
' เนื่องจากorigin
จะเป็น repo ของคุณเอง, เป็นผลมาจากทางแยก)git checkout master;
git pull;
เหมือนกันสำหรับการพัฒนา (ที่สาขาคุณลักษณะของฉันถูกผสานก่อน) ความแตกต่างที่ฉันสามารถคิดได้ จากหลังจากอ่าน "pull vs pull --rebase" และ "merge vs rebase" เป็นเพียงประวัติแบน มีอะไรอีกที่ล้ำลึกกว่านี้?
หากต้องการเพิ่มคำตอบของ Yan และ VonC นี่เป็นแหล่งข้อมูลที่ดีจาก github ตัวเอง: http://help.github.com/forking/
นอกจากนี้อย่าลืมดูที่แถบด้านข้างขวาภายใต้หัวข้อ "การทำงานร่วมกัน"
มีวิดีโอ Railscast ที่ยอดเยี่ยมที่นี่ที่จะนำคุณเข้าสู่กระบวนการ นอกจากนี้ยังมีเคล็ดลับดีๆมากมายเช่นการแสดงวิธีกำหนดสาขาที่คุณอาจต้องการทำงานเมื่อมีส่วนร่วมใช้การทดสอบ submodules เป็นต้น
ในขณะที่ screencast นี้มุ่งเน้นไปที่นักพัฒนา Rails เป็นหลักข้อมูลส่วนใหญ่นั้นใช้ได้สำหรับการมีส่วนร่วมในโครงการโอเพนซอร์สใด ๆ
Github มีหลายวิธีในการร่วมมือกับโครงการ รูปแบบการใช้โปรเจ็กต์ส่วนใหญ่คือโมเดลคำขอการดึง ฉันเริ่มต้นโครงการเพื่อช่วยให้ผู้คนส่งคำขอดึง GitHub เป็นครั้งแรก คุณสามารถทำแบบฝึกหัดการสอนเพื่อสร้าง PR ครั้งแรกของคุณได้ที่นี่
เวิร์กโฟลว์นั้นง่ายเหมือน
git push origin branch-name
Compare and pull request
ปุ่มlornajane มีบล็อกโพสต์ที่อธิบายกระบวนการได้ดี: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
ฉันขอแนะนำเวิร์กโฟลว์ต่อไปนี้:
โคลน (ในบรรทัดคำสั่ง)
git clone <url-from-your-workspace>
ป้อนไดเรกทอรีที่เพิ่งสร้างขึ้นและสร้างสาขา
cd <directory>
git checkout -b <branchname>
ตอนนี้ทำการเปลี่ยนแปลงของคุณ
คุณสามารถสร้างหนึ่งคอมมิทหรือมากกว่าหลังจากการเปลี่ยนแปลงแต่ละครั้ง:
commit -a
เมื่อเสร็จแล้วให้กดการเปลี่ยนแปลงของคุณ
git push origin <branch>
ในบรรทัดคำสั่งของคุณคุณควรเห็น URL เพื่อสร้างการประชาสัมพันธ์ เยี่ยมชม URL และคลิกปุ่มเพื่อสร้างการประชาสัมพันธ์
หากไม่มีให้ไปที่ที่เก็บในเบราว์เซอร์และจะมีปุ่มสำหรับสร้างคำขอดึง
แค่นั้นแหละ.
ดังนั้นโดยทั่วไปคุณแยกที่เก็บไปยังพื้นที่ทำงานของคุณสร้างสาขาใหม่และผลักสาขาใหม่นั้น
หากภายหลังคุณสร้าง PR เพิ่มเติมจาก repo ที่ลอกแบบเดียวกันคุณควรซิงโครไนซ์ (รับการเปลี่ยนแปลงล่าสุดจากที่เก็บต้นฉบับ) ก่อนที่คุณจะสร้างสาขาอื่นสำหรับ PR อื่น:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
คำแนะนำเหล่านี้อยู่ที่นี่เพื่อช่วยให้คุณประหยัดจากปัญหาในการทำงานในการประชาสัมพันธ์ที่จะไม่ถูกรวมเข้าด้วยกัน หากมีกิจกรรมในโครงการและการรวมกันของ PR นี่เป็นสัญญาณที่ดี หากมีแนวทางการบริจาคให้ปฏิบัติตาม
จงสุภาพเสมอ โปรดจำไว้ว่าผู้ดูแลโครงการไม่จำเป็นต้องรวม PR ของคุณเข้าด้วยกัน คุณมีสิ่งที่มีค่าที่จะเพิ่มในโครงการหรือไม่