ฉันเปิดคำขอดึงเพื่อโครงการ ผู้ดูแลตัดสินใจที่จะยอมรับ แต่บอกให้ฉันแก้ไขเนื้อหาบางอย่าง
ฉันจะทำมันได้อย่างไร ไม่ว่าฉันควรเก็บแฮชการเปลี่ยนแปลงไม่เปลี่ยนแปลงฉันจะทำอย่างไร
ฉันเปิดคำขอดึงเพื่อโครงการ ผู้ดูแลตัดสินใจที่จะยอมรับ แต่บอกให้ฉันแก้ไขเนื้อหาบางอย่าง
ฉันจะทำมันได้อย่างไร ไม่ว่าฉันควรเก็บแฮชการเปลี่ยนแปลงไม่เปลี่ยนแปลงฉันจะทำอย่างไร
คำตอบ:
เพียงแค่เพิ่มความมุ่งมั่นไปยังสาขาที่มีการร้องขอ คำขอดึงจะรับสิ่งนี้แล้ว
หากคุณต้องการรวมขเข้ากับมาสเตอร์
ฉันเพิ่งมีการส่งคำขอหนึ่งครั้งและฉันก็ใช้git commit --amend
เพื่ออัปเดต จากนั้นฉันก็ใช้แรงผลักดันgit push -f
เพื่อที่ความมุ่งมั่นของฉันที่ได้รับการแก้ไขจะแทนที่สิ่งเดิม คำขอดึงจะรับการมอบหมายใหม่โดยอัตโนมัติ (มันแสดงให้เห็นว่าทั้งสองกระทำ แต่เมื่อฉันโหลดหน้าซ้ำการกระทำเดิมได้หายไป)
ดังนั้นในขณะที่ไม่แนะนำให้ทำการบังคับแบบกดมันอาจมีประโยชน์สำหรับการร้องขอแบบดึง ไม่แนะนำเพราะถ้ามีคนยึดมั่นอยู่ด้านบนของคุณแล้วพวกเขาจะต้องทำ rebase หลังจากการเปลี่ยนแปลงของคุณ แต่เนื่องจากไม่มีใครควรทำงานตามคำขอการตรวจทานการดึงที่อยู่ระหว่างตรวจทานจึงน่าจะปลอดภัยในสถานการณ์นี้
หากคุณทำการเปลี่ยนแปลงและผลักดันไปยังสาขาเดิมต่อไปความมุ่งมั่นที่ได้รับการปรับปรุงจะถูกเพิ่มไปยังคำขอดึงเดียวกัน (เว้นแต่ว่าคำขอดึงของคุณได้รับการผสานแล้ว) นี่อาจทำให้ประวัติศาสตร์รกมาก
โซลูชันทางเลือกและเทคนิคที่ฉันใช้มีดังนี้:
สร้างสาขาใหม่ (แก้ไข) จากพื้นที่เก็บข้อมูล (อัปสตรีม) และสาขา (พัฒนา) ที่คุณต้องการส่งคำขอดึงโดยทำ:
สาขา git แก้ไขต้นน้ำ / พัฒนา
เพิ่มความมุ่งมั่นของคุณในสาขาที่เพิ่งสร้างใหม่นี้โดยตรง
คอมไพล์กระทำ -m "ข้อความของคุณ"
ผลักสาขานี้ไปยังรีโมตแบบแยกทางของคุณเอง (อาจเป็นชื่อดั้งเดิม)
นอกจากนี้คุณยังสามารถใช้API GitHub
curl --user "your_github_username" \
--request PATCH \
--data '{"title":"newtitle","body":"newbody",...}' \
https://api.github.com/repos/:owner/:repo/pulls/:number
คุณสามารถค้นหารายการข้อมูลที่ไม่ต้องเรียกเก็บเงินได้ในเอกสารนักพัฒนา GitHub
curl --user "jeremyclement" \
--request PATCH \
--data '{"title":"allows the control of files and folders permissions."}' \
https://api.github.com/repos/Gregwar/Cache/pulls/9