ฉันจะสร้างปะโดยใช้ Git ได้อย่างไร


10

ฉันพบปัญหาในdrupal.orgที่ฉันต้องการส่งวิธีการแก้ปัญหาสำหรับ ฉันจะสร้างแพตช์โดยใช้คอมไพล์ได้อย่างไรเพื่อที่ฉันจะได้ทำการแก้ไขได้

คำตอบ:


12

ทุกโครงการของ Drupal.org มีชื่อแท็บ 'การควบคุมเวอร์ชัน' คลิกที่มันและมันจะนำคุณไปสู่หน้าที่มีคำแนะนำ Git รวมถึงส่วนที่ชื่อว่า 'การสร้างแพตช์'

ดูตัวอย่างได้ที่นี่: http://drupal.org/project/wysiwyg_fields/git-instructions

รหัสด้านล่างถูกคัดลอกจากคำแนะนำในการทำ

git checkout -b [description]-[issue-number]

ทำการเปลี่ยนแปลงของคุณ บันทึกการเปลี่ยนแปลงในไวยากรณ์สำหรับข้อความการกระทำที่เกี่ยวข้องกับปัญหา ดูรายละเอียดที่หน้าการส่งข้อความ

git add -A
git commit -m "Issue #[issue number] by [comma-separated usernames]: [Short summary of the change]."

ม้วนแพทช์

git status
git fetch origin
git rebase origin/6.x-1.x
git format-patch origin/6.x-1.x --stdout > [description]-[issue-number]-[comment-number].patch

0

หากคุณใช้ PhpStorm หรือ IntelliJ คุณสามารถทำสิ่งต่อไปนี้:

  • ตรวจสอบให้แน่ใจว่าสาขาของคุณทันสมัย
  • ทำการเปลี่ยนแปลง (แก้ไขข้อบกพร่อง)
  • ไปที่ VCS> สร้างแพทช์

    ไปที่ VCS> สร้างแพทช์

  • ทำตามขั้นตอนและบันทึกตำแหน่งที่คุณต้องการ

    ทำตามขั้นตอนและบันทึกตำแหน่งที่คุณต้องการ


0

ฉันจะไม่เข้าใจสิ่งต่าง ๆ มากเกินไป ในที่สุดสิ่งที่คุณต้องการจริงๆคือโมดูลรุ่น dev เริ่มต้น repo Git ที่ว่างเปล่าในนั้นทำความสะอาดแผนผังการทำงาน (ทำทุกอย่างมันเป็นแบบโลคอล) ทำการเปลี่ยนแปลงแล้วเรียกใช้คำสั่งต่อไปนี้

$ git diff > [short_description]-[issue-number]-[comment-number].patch

ในแบบทีละขั้นตอนที่อาจจะเดือดลงไปต่อไปนี้

  1. มี Drupal ในพื้นที่ที่คุณสามารถยุ่งไปกับมันได้
  2. ดาวน์โหลดรุ่น dev ของโมดูลลงในโฟลเดอร์โมดูล Contrib ของ Drupal ในพื้นที่ของคุณ
  3. ตอนนี้cdในไดเรกทอรีของโมดูลและgit initจากนั้นgit add .และgit commit -m "Clean tree"จะมีสถานะที่สะอาดที่จะเริ่มต้นจาก
  4. ทำการเปลี่ยนแปลงรหัสของคุณและใช้ Local Drupal เพื่อตรวจสอบว่าทุกอย่างทำงานได้หรือไม่และในที่สุดให้รันgit diffคำสั่งจากด้านบน
  5. อัปโหลดแพตช์บน drupal.org และตั้งปัญหาเป็น "ต้องการการตรวจสอบ"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.