Git: Cherry-Pick เพื่อคัดลอกการทำงานโดยไม่ต้องกระทำ


190

ฉันมีสาขาหลายแห่งที่ฉันยังคงมุ่งมั่นที่ฉันต้องการใช้กับสำเนาการทำงานของฉันทุก ๆ คราวแล้ว ตอนแรกฉันพยายามเก็บเชอร์รี่ แต่ฉันไม่ต้องการมีความมุ่งมั่นในสาขาเป้าหมายในภายหลัง

ดังนั้นฉันจึงได้cherry-pick+reset HEAD~1 --soft

มีบางสิ่งที่ง่ายกว่าเช่นการหยิบเชอร์รี่เพื่อคัดลอกเท่านั้นหรือไม่


4
คุณมีการตั้งค่าสถานะ '-n' ซึ่งหมายถึง "ไม่ยอมรับ" ดูที่นี่: git-scm.com/docs/git-cherry-pick
Igal S.

4
สำหรับช่วงของการกระทำgit cherry-pick HEAD..<AwesomeBranch> -n
schoetbi

คำตอบ:


336

ใช้แฟล็ก '-n' พร้อมกับการเลือกเชอร์รี่ซึ่งเป็น "ไม่ยอมรับ"

ดูที่นี่: http://git-scm.com/docs/git-cherry-pick

git cherry-pick -n <HASH>

34
-nนำการกระทำไปยังพื้นที่จัดฉาก เพื่อ unstage มันgit reset HEADจะเป็นสิ่งจำเป็น
พระนารายณ์ NK

5

หากคุณกำลังใช้ Terminal

git cherry-pick -n <HASH>

หากคุณกำลังใช้แนวคิด Intellij

Settings -> Version Control -> git
untick commit automatically on cherry-pick 

2

ฉันได้รับข้อผิดพลาด error: server/metadata/metadata-preui-prod.xml: No such file or directory

ดังนั้นตอนนี้ฉันทำสิ่งนี้

git checkout SHA -- server/metadata && git reset -- server/met adata

เก่า

git show SHA -- file1.txt file2.txt | git apply -

หรือไฟล์ทั้งหมดจาก SHA

git show SHA | git apply -

วิธี git-cherry-pick เปลี่ยนแปลงเฉพาะไฟล์บางไฟล์เท่านั้น?


1

สำหรับผู้ใช้ IntelliJ

การตั้งค่า> การควบคุมเวอร์ชัน> Git: ยกเลิกการเลือกCommit โดยอัตโนมัติเมื่อเลือกรูปเชอร์รี่

ป้อนคำอธิบายรูปภาพที่นี่

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