คำถามติดแท็ก patch

โปรแกรมแก้ไขคือซอฟต์แวร์ที่ออกแบบมาเพื่อแก้ไขปัญหาหรืออัปเดตโปรแกรมคอมพิวเตอร์หรือข้อมูลสนับสนุน ซึ่งรวมถึงการแก้ไขช่องโหว่ด้านความปลอดภัยและจุดบกพร่องอื่น ๆ และปรับปรุงการใช้งานหรือประสิทธิภาพ

10
วิธีสร้าง patch git สำหรับการคอมมิทเฉพาะ
ฉันต้องเขียนสคริปต์ที่สร้างแพตช์สำหรับรายการ SHA1 ที่ส่งหมายเลข ฉันพยายามใช้ git format-patch <the SHA1>แต่มันสร้าง patch สำหรับแต่ละการกระทำตั้งแต่ SHA1 หลังจากที่มีการสร้างแพตช์สองสามร้อยฉันต้องฆ่ากระบวนการ มีวิธีในการสร้างแพทช์สำหรับ SHA1 เฉพาะหรือไม่
1231 git  patch 

5
วิธีการย้ายมุ่งมั่นบางอย่างที่จะขึ้นอยู่กับสาขาอื่นในคอมไพล์?
สถานการณ์: เจ้านายอยู่ที่ X quickfix1 อยู่ที่ X + 2 คอมมิชชัน ดังนั้น: o-o-X (master HEAD) \ q1a--q1b (quickfix1 HEAD) จากนั้นฉันก็เริ่มทำงานกับ quickfix2 แต่โดยบังเอิญเอา quickfix1 เป็นสาขาต้นทางเพื่อคัดลอกไม่ใช่ต้นแบบ ตอนนี้ quickfix2 อยู่ที่ X + 2 คอมมิต + 2 คอมมิทที่เกี่ยวข้อง o-o-X (master HEAD) \ q1a--q1b (quickfix1 HEAD) \ q2a--q2b (quickfix2 HEAD) ตอนนี้ฉันต้องการมีสาขาที่มี quickfix2 แต่ไม่มี 2 คอมมิตที่เป็นของ quickfix1 q2a'--q2b' …
381 git  commit  patch 

5
จะใช้แพตช์ 'git diff` ได้อย่างไรโดยไม่ต้องติดตั้ง Git?
ลูกค้าของฉันจะสามารถใช้โปรแกรมปะแก้ที่สร้างโดยgit diffไม่ติดตั้ง git ได้อย่างไร? ฉันพยายามใช้patchคำสั่ง แต่จะขอให้แก้ไขชื่อไฟล์เสมอ
280 git  diff  patch 

7
จะใช้โปรแกรมปะแก้ที่สร้างด้วย git format-patch ได้อย่างไร?
ฉันมีที่เก็บโลคัล 2 git ทั้งคู่ชี้ไปที่ที่เก็บรีโมตเดียวกัน ในที่เก็บ git หนึ่งถ้าฉันทำได้ฉันจะgit format-patch 1ใช้โปรแกรมแก้ไขนั้นกับที่เก็บอื่นได้อย่างไร
221 git  patch 

4
ฉันสามารถแบ่งก้อนใหญ่ที่แบ่งแล้วด้วย git ได้ไหม
ฉันเพิ่งค้นพบpatchตัวเลือกคอมไพล์ของaddคำสั่งและฉันต้องบอกว่ามันเป็นคุณสมบัติที่ยอดเยี่ยมจริงๆ ฉันยังค้นพบว่าก้อนใหญ่ก้อนใหญ่สามารถแบ่งออกเป็นกลุ่มย่อยขนาดเล็กได้ด้วยการกดปุ่มsซึ่งเพิ่มความแม่นยำของความมุ่งมั่น แต่ถ้าฉันต้องการความแม่นยำมากขึ้นถ้าก้อนใหญ่ที่แยกไม่เล็กพอ? ตัวอย่างเช่นให้พิจารณาก้อนใหญ่ที่แบ่งแล้ว: @@ -34,12 +34,7 @@ width: 440px; } -/*#field_teacher_id { - display: block; -} */ - -form.table-form #field_teacher + label, -form.table-form #field_producer_distributor + label { +#user-register form.table-form .field-type-checkbox label { width: 300px; } ฉันจะเพิ่มการลบความคิดเห็น CSS ไปยังการส่งครั้งต่อไปได้อย่างไร sตัวเลือกที่ไม่สามารถใช้ได้อีกต่อไป!
204 git  split  add  patch 

8
อะไรคือความแตกต่างหลักระหว่าง PATCH และ PUT
ฉันกำลังใช้PUTคำขอในแอปพลิเคชัน Rails ของฉัน ขณะนี้PATCHเบราว์เซอร์HTTP ใหม่ถูกใช้งานโดยเบราว์เซอร์ ดังนั้นฉันต้องการทราบความแตกต่างที่สำคัญระหว่างPATCHและPUTคำขอคืออะไรและเมื่อใดที่เราควรใช้รายการใดรายการหนึ่ง
187 http  patch  put  httpverbs 

5
ฉันจะสร้างแพทช์จากคอมไพล์ล่าสุดของฉันได้อย่างไร?
ฉันกำลังมองหาคำสั่งเวทมนต์ในการสร้างแพทช์จากการคอมมิทล่าสุด บางครั้งเวิร์กโฟลว์ของฉันมีลักษณะเช่นนี้ vi some.txt git add some.txt git commit -m "some change" และตอนนี้ฉันแค่อยากจะเขียน git create-patch-from-last-commit-to-file SOME-PATCH0001.patch แต่สิ่งที่ฉันควรใส่มีแทนcreate-patch-from-last-commit-to-file?
186 git  patch 

8
สควอชคุณตกลงในแพทช์เดียวด้วย git format-patch อย่างไร
ฉันมีแปดคอมมิชชันในสาขาที่ฉันต้องการส่งอีเมลไปยังบางคนที่ยังไม่ได้รับความเห็นชอบ จนถึงตอนนี้ทุกอย่างที่ฉันทำก็ให้ 8 ไฟล์แพทช์หรือเริ่มให้ไฟล์แพตช์สำหรับทุกการคอมมิชชันในประวัติของสาขาตั้งแต่เริ่มต้น ฉันใช้การรีบูต Git - โต้ตอบเพื่อกำจัดความมุ่งมั่น แต่ตอนนี้ทุกอย่างที่ฉันลองจะทำให้ฉันเต็มไปด้วยแพทช์ตั้งแต่ต้นเวลา ผมทำอะไรผิดหรือเปล่า? git format-patch master HEAD # yields zillions of patches, even though there's # only one commit since master
163 git  patch  squash  git-squash 

3
สร้างไฟล์ patch หรือ diff จาก git repository และนำไปใช้กับ git repository อื่น
ฉันทำงานกับโครงการที่ใช้ WordPress และฉันต้องการแก้ไขโครงการของฉันที่ WP รุ่นใหม่แต่ละรุ่น สำหรับสิ่งนี้ฉันต้องการสร้างแพทช์ระหว่างสองคอมมิทหรือแท็ก ตัวอย่างเช่นใน repo ของ/www/WPฉันฉันทำสิ่งนี้: $git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch หรือ $git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch /www/WP ตอนนี้ WordPress /www/myproject โครงการ WordPress ของฉันคอมไพล์ตาม git applyบรรทัดคำสั่งไม่ทำงานผมคิดว่าเพราะเราอยู่ในที่เก็บที่แตกต่างกัน ฉันสามารถสร้างไฟล์ปะแก้โดยไม่มีการคอมมิตเพียงส่วนต่างและนำไปใช้กับที่เก็บ git อื่นได้หรือไม่ ขอบคุณล่วงหน้า
155 git  diff  patch  git-diff  git-apply 

3
ความแตกต่างระหว่าง git am และ git apply คืออะไร?
ทั้งสองอย่างgit amและgit applyสามารถใช้เพื่อใช้แพทช์ ฉันไม่เห็นความแตกต่าง ตอนนี้ฉันเห็นความแตกต่าง: คอมมิตgit amโดยอัตโนมัติในขณะที่git applyแตะไฟล์เท่านั้น แต่ไม่ได้สร้างคอมมิต นั่นคือความแตกต่างเพียงอย่างเดียว?
143 git  patch 

20
ฉันจะใช้โปรแกรมปะแก้ diff บน Windows ได้อย่างไร
มีโปรแกรมมากมายที่สามารถสร้าง patch ที่แตกต่างกันได้ แต่ฉันมีเวลาพยายามที่จะใช้มัน ฉันพยายามแจกจ่ายโปรแกรมแก้ไขและฉันได้รับคำถามจากผู้ใช้เกี่ยวกับวิธีใช้งาน ดังนั้นฉันจึงพยายามคิดออกเองและพบว่าฉันไม่มีเงื่อนงำและเครื่องมือส่วนใหญ่ที่ฉันพบคือบรรทัดคำสั่ง (ฉันสามารถจัดการบรรทัดคำสั่งได้ แต่ผู้คนจำนวนมากจะหายไปโดยไม่มี GUI ที่ดีและเป็นมิตรดังนั้นสิ่งเหล่านี้จึงไม่ดีสำหรับจุดประสงค์นี้) ฉันลองใช้ TortoiseSVN ฉันมีแพทช์ที่ฉันต้องการสมัคร ฉันคลิกขวาที่แพทช์และมีตัวเลือกภายใต้เมนูย่อย TortoiseSVN ที่ระบุว่า "ใช้แพตช์" ทั้งหมดนี้ก็คือดึงหน้าต่างว่างขึ้นมา ดังนั้นฉันจึงลองกดปุ่ม Open มันมีสองตัวเลือก: ผสานและใช้ diff แบบรวม (แพทช์อยู่ในรูปแบบ diff แบบรวมโชคดี) แต่ตัวเลือกการใช้ที่เรียบง่ายไม่ทำงาน: มันขอแพทช์และโฟลเดอร์ อย่างใดก็ลืมที่จะขอไฟล์ที่จะใช้แพทช์! TortoiseSVN เพียงธรรมดาจึงไม่ทำงาน มียูทิลิตีที่ใช้ Windows GUI ที่จะทำการปะและไฟล์และใช้อย่างถูกต้องหรือไม่? แก้ไข: ดูคำตอบจนถึงขณะนี้ดูเหมือนว่าเต่าจะทำถูกต้องหากเป็นไฟล์ที่มีรุ่นแล้ว นั่นไม่ใช่กรณีที่นี่ ฉันต้องสามารถใช้โปรแกรมปะแก้กับไฟล์ที่ไม่ได้มาจากที่เก็บ SVN ฉันเพิ่งลองใช้ Tortoise เพราะฉันรู้ว่า SVN ใช้ diffs และต้องรู้วิธีสร้างและนำไปใช้
136 windows  diff  gnu  patch 

7
ฉันจะเห็นภาพความแตกต่างของแต่ละอักขระในไฟล์ diff แบบรวมได้อย่างไร
git format-patchบอกว่าผมจะได้รับแพทช์ที่สร้างขึ้นด้วย ไฟล์นี้มีความแตกต่างแบบรวมกับข้อมูลเมตาบางอย่าง ถ้าฉันเปิดไฟล์ใน Vim ฉันจะเห็นว่าบรรทัดใดถูกแก้ไข แต่ฉันไม่เห็นว่าอักขระใดในบรรทัดที่เปลี่ยนแปลงแตกต่างกัน มีใครรู้วิธี (ใน Vim หรือซอฟต์แวร์ฟรีอื่น ๆ ที่ทำงานบน Ubuntu) เพื่อให้เห็นภาพความแตกต่างของแต่ละอักขระหรือไม่? vimdiff a bตัวอย่างที่เคาน์เตอร์ที่แตกต่างต่อตัวละครคือมองเห็นคือเมื่อการดำเนินการ อัปเดตศ. 12 พ.ย. 22:36:23 UTC 2010 diffpatch มีประโยชน์สำหรับสถานการณ์ที่คุณกำลังทำงานกับไฟล์เดียว อัปเดตพฤ. 16 มิ.ย. 17:56:10 UTC 2559 ตรวจสอบdiff ไฮไลท์ในการคอมไพล์ 2.9 สคริปต์นี้ไม่ว่าสิ่งที่ผมเดิมที่กำลังมองหา
122 git  vim  diff  patch 

6
จะใช้ Git patch กับไฟล์ที่มีชื่อและเส้นทางอื่นได้อย่างไร?
ฉันมีที่เก็บสองแห่ง ./hello.testในหนึ่งฉันจะทำให้การเปลี่ยนแปลงไปยังแฟ้ม git format-patch -1 HEADฉันกระทำการเปลี่ยนแปลงและสร้างแพทช์จากที่กระทำกับ ตอนนี้ฉันมีที่เก็บที่สองที่มีไฟล์ที่มีเนื้อหาเหมือนกับ hello.test แต่ถูกวางไว้ในไดเร็กทอรีอื่นภายใต้ชื่ออื่น: ./blue/red/hi.test. ฉันจะนำโปรแกรมแก้ไขดังกล่าวไปใช้กับhi.testไฟล์ได้อย่างไร ฉันพยายามgit am --directory='blue/red' < patch_fileแต่แน่นอนว่าบ่นว่าไฟล์ไม่ได้ตั้งชื่อเหมือนกัน (ซึ่งฉันคิดว่า Git ไม่สนใจ?) ฉันรู้ว่าฉันสามารถแก้ไขความแตกต่างเพื่อใช้กับไฟล์เฉพาะนั้นได้ แต่ฉันกำลังมองหาวิธีแก้ปัญหาคำสั่ง

4
“ 1 บรรทัดเพิ่มข้อผิดพลาดช่องว่าง” หมายความว่าอย่างไรเมื่อใช้โปรแกรมแก้ไข
ฉันกำลังแก้ไขไฟล์ markdown ของที่เก็บรีโมตที่ถูกโคลนและต้องการทดสอบการสร้างและใช้แพตช์จากสาขาหนึ่งไปยังอีกสาขาหนึ่ง อย่างไรก็ตามทุกครั้งที่ฉันทำการเปลี่ยนแปลงใด ๆ ฉันจะได้รับข้อความต่อไปนี้ระหว่างgit apply: 0001-b.patch:16: trailing whitespace. warning: 1 line adds whitespace errors. (สิ่งนี้เกิดขึ้นบน Mac ของฉันและฉันไม่รู้ว่ารหัสดั้งเดิมถูกสร้างขึ้นที่ไหน) ข้อความเตือนหมายความว่าอย่างไรและฉันต้องดูแลหรือไม่?

2
จะดาวน์โหลดคอมมิตเดียวจาก GitHub ได้อย่างไร?
ฉันต้องการรับคอมมิตเดียว (ขอเรียกมันว่า${SHA}) จาก GitHub ผ่านเว็บอินเทอร์เฟซ ตัวอย่างเช่น: $ git clone http://github.com/foo/bar $ cd bar $ git format-patch -o .. ${SHA}~1..${SHA} $ cd .. $ rm -rf bar ... แต่ไม่ต้องโคลนที่เก็บทั้งหมด (repo ที่เป็นปัญหามีขนาดใหญ่) เห็นได้ชัดว่า GitHub สามารถแสดงความแตกต่างของการคอมมิตที่กำหนดผ่านทางเว็บอินเตอร์เฟส แต่ฉันจะแยกมันออกเป็นไฟล์ diff (รวม) ได้อย่างไร
106 github  diff  patch  git-diff 

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