ฉันจะสร้างและ / หรือส่งคำขอดึงไปยังพื้นที่เก็บข้อมูลอื่นที่โฮสต์บน GitHub ได้อย่างไร
ฉันจะสร้างและ / หรือส่งคำขอดึงไปยังพื้นที่เก็บข้อมูลอื่นที่โฮสต์บน GitHub ได้อย่างไร
คำตอบ:
(นอกจากนี้อย่างเป็นทางการ " GitHub ความช่วยเหลือ 'ใช้การร้องขอดึงหน้า "
เห็น " ง่ามกับการแตกแขนงใน GitHub ", " ความแตกต่างระหว่างแหล่งกำเนิดต้นน้ำอะไรและใน GitHub ")
สมมติว่าคุณได้ซื้อคืนภาคีก่อนนี่คือสิ่งที่คุณควรทำในทางแยกที่คุณเป็นเจ้าของ:
master
ซึ่งคุณอาจถูกล่อลวงให้สะสมและผสมการแก้ไขหลายอย่างพร้อมกันorigin/master
(ทำให้แน่ใจว่าแพทช์ของคุณยังทำงานอยู่) จะอัปเดตคำขอการดึงโดยอัตโนมัติ (ไม่จำเป็นต้องคลิกอะไรเลย)git remote prune origin
) ได้อย่างปลอดภัย GitHub GUI จะเสนอให้คุณลบสาขาในหน้าคำขอดึงหมายเหตุ: ในการเขียนคำขอดึงตัวเองโปรดดูที่ " วิธีเขียนคำขอดึงสมบูรณ์ " (มกราคม 2015, GitHub)
มีนาคม 2016: ตัวเลือกปุ่มผสาน PR ใหม่: ดู " สควอช GitHub กระทำจากเว็บอินเตอร์เฟสเมื่อมีการร้องขอการดึงหลังจากแสดงความคิดเห็น? "
ผู้ดูแลธุรกรรมซื้อคืนสามารถเลือกที่จะmerge --squash
ทำหน้าที่ประชาสัมพันธ์
เกี่ยวกับจุดสุดท้ายตั้งแต่เดือนเมษายน, 10 2013, " ปุ่มผสานการออกแบบ " สาขาจะถูกลบสำหรับคุณ:
การลบสาขาหลังจากที่คุณรวมได้รับการทำให้เรียบง่าย แทนการยืนยันการลบที่มีขั้นตอนพิเศษเราทันทีลบสาขาเมื่อคุณลบมันและให้การเชื่อมโยงที่สะดวกในการเรียกคืนสาขาในกรณีที่คุณต้องการมันอีกครั้ง
ที่ยืนยันวิธีปฏิบัติที่ดีที่สุดของการลบสาขาหลังจากรวมคำขอดึง
คำขอดึงไม่ใช่คำว่า "คอมไพล์" อย่างเป็นทางการ
Git ใช้request-pull
คำสั่ง (!)เพื่อสร้างคำขอสำหรับการรวม:
"สรุปการเปลี่ยนแปลงระหว่างสองคอมมิทกับเอาต์พุตมาตรฐานและรวม URL ที่กำหนดไว้ในข้อมูลสรุปที่สร้างขึ้น"
Github เปิดตัวเวอร์ชั่นของตัวเองตั้งแต่วันแรก (กุมภาพันธ์ 2008)แต่ได้รับการออกแบบใหม่ในเดือนพฤษภาคม 2010โดยระบุว่า:
Pull Request = Compare View + Issues + Commit comments
<humour>
GitHub นั้นไม่ได้กำหนดคำขอดึง (pull pull) อย่างถูกต้อง!
โชคดีที่องค์กรข่าวธุรกิจที่แท้จริงจะรู้และมีe-note เพื่อแทนที่ pull-replace โดย 'e-note' :
ดังนั้นถ้าคุณ Repos o tory ต้องการ E-ทราบ ... ขอให้ธุรกิจฟ็อกซ์ พวกเขาอยู่ในความรู้
</humour>
branch
เทียบกับmaster
ดูเหมือนจะเป็นสิ่งสำคัญสำหรับการตอบ / Github ของฉันจากการแก้ปัญหาเชิงทฤษฎีกับสิ่งที่เราจะใช้จริง ๆ
git pull --rebase upstream/master
สิ่งที่ดีแน่นอน
หากต้องการเรียนรู้วิธีสร้างคำขอดึงฉันเพิ่งทำตามหน้าช่วยเหลือสองหน้าใน Github (ลิงก์ด้านล่างเป็นสัญลักษณ์หัวข้อย่อย) คำสั่งบรรทัดคำสั่งต่อไปนี้สำหรับส่วนที่ 1 ส่วนที่ 2คำขอการดึงที่แท้จริงทำบนเว็บไซต์ของ Github ทั้งหมด
$ git clone https://github.com/tim-peterson/dwolla-php.git
$ cd dwolla-php
$ git remote add upstream https://github.com/Dwolla/dwolla-php.git
$ git fetch upstream
// make your changes to this newly cloned, local repo
$ git add .
$ git commit -m '1st commit to dwolla'
$ git push origin master
ส่วนที่ 1 : แยกส่วนซื้อของใครบางคน: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
ลำดับข้างบนเพื่อคัดลอกส้อมของคุณที่ใดที่หนึ่งในคอมพิวเตอร์ของคุณ (เช่น "คัดลอก / วาง" ในกรณีนี้third_party TimPeterson$
:) และซิงค์กับ repo หลัก (Dwolla / dwolla-php)git add->git commit->git push
ลำดับข้างต้นเพื่อผลักดันการเปลี่ยนแปลงของคุณไปยัง repo ระยะไกลเช่นทางแยกของคุณใน Github (tim-peterson / dwolla-php)ส่วนที่ 2 : ทำการร้องขอการดึง: https://help.github.com/articles/using-pull-requests
Tims-MacBook-Pro:third_party TimPeterson$
เพราะนี่คือการสอนสำหรับผู้เริ่มต้นและการแจ้งเตือนเหล่านั้นจะช่วยปรับทิศทางผู้ใช้
git fetch upstream
คุณไม่จำเป็นต้องผสานการเปลี่ยนแปลงต้นน้ำพร้อมสำเนาท้องถิ่นของคุณโดยใช้git checkout master
แล้วgit merge upstream/master
?
ในการสร้างคำขอดึงคุณต้องทำตามขั้นตอนต่อไปนี้:
ฉันใช้เวลาสักครู่ในการคิดสิ่งนี้หวังว่าสิ่งนี้จะช่วยใครซักคน
ฉันเริ่มต้นโครงการเพื่อช่วยให้ผู้คนส่งคำขอดึง GitHub เป็นครั้งแรก คุณสามารถทำแบบฝึกหัดการสอนเพื่อทำให้ PR ของคุณเป็นครั้งแรกได้ที่นี่
เวิร์กโฟลว์นั้นง่ายเหมือน
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
ปุ่มสำหรับพวกเราที่มีบัญชี github.com แต่จะได้รับข้อความแสดงข้อผิดพลาดที่น่ารังเกียจเมื่อเราพิมพ์ "git" ลงในบรรทัดคำสั่งนี่คือวิธีทำทั้งหมดในเบราว์เซอร์ของคุณ :)
ฉันทำตามคำแนะนำของ Tim peterson แต่ฉันได้สร้างสาขาท้องถิ่นสำหรับการเปลี่ยนแปลงของฉัน อย่างไรก็ตามหลังจากผลักฉันไม่เห็นสาขาใหม่ใน GitHub ทางออกคือการเพิ่ม -u ไปที่คำสั่ง push:
git push -u origin <branch>
tim-peterson
ที่ 2 คือDwolla
ฉันเขียนโปรแกรมทุบตีที่ทำงานทั้งหมดของการตั้งค่าสาขาประชาสัมพันธ์สำหรับคุณ มันทำการฟอร์กหากจำเป็นซิงค์กับอัปสตรีมตั้งค่ารีสตรีมรีโมต ฯลฯ และคุณเพียงแค่ต้องยอมรับการดัดแปลงของคุณกดและส่ง PR
นี่คือวิธีที่คุณเรียกใช้:
github-make-pr-branch ssh your-github-username orig_repo_user orig_repo_name new-feature
คุณจะพบโปรแกรมที่นี่และพื้นที่เก็บข้อมูลของมันรวมถึงคำแนะนำทีละขั้นตอนเพื่อดำเนินการกระบวนการเดียวกันด้วยตนเองหากคุณต้องการที่จะเข้าใจวิธีการทำงานและข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำให้สาขาฟีเจอร์ของคุณทันสมัย วันที่กับต้นแบบต้นน้ำและเกร็ดเล็กเกร็ดน้อยที่เป็นประโยชน์อื่น ๆ
ง่าย GitHub ดึงขอเป็นจากอินเตอร์เฟซเว็บโดยไม่ต้องใช้คอมไพล์
คลิกที่ไอคอนดินสอ
ค้นหาข้อความใกล้กับตำแหน่งทำการแก้ไขที่คุณต้องการจากนั้นดูตัวอย่างเพื่อยืนยัน ให้คำอธิบายการเปลี่ยนแปลงที่เสนอสูงถึง 50 อักขระและเลือกคำอธิบายเพิ่มเติมจากนั้นคลิกปุ่มเปลี่ยนไฟล์เสนอ
หากคุณกำลังอ่านสิ่งนี้คุณจะไม่สามารถเข้าถึงที่เก็บข้อมูล (โฟลเดอร์โครงการ) ดังนั้น GitHub จะสร้างสำเนาของที่เก็บ (จริงๆแล้วเป็นสาขา) ในบัญชีของคุณ คลิกคำขอสร้างดึงปุ่ม