@ ชาร์ลส์ตอบถูก อย่างไรก็ตามฉันลงเอยด้วยการใช้สิ่งนี้หลายครั้งที่สำคัญที่สุดคือ rebase config เฉพาะในโครงการ
* a8f9182 (HEAD -> การผลิต) การกำหนดค่าการผลิต
| * daa18b7 (ก่อน) การกำหนดค่าก่อนการผลิตจริง
| /
| * d365f5f (โลคัล) คอนฟิกูเรชัน
| /
* 27d2835 (dev) คุณสมบัติใหม่ที่น่าทึ่งที่จะช่วยโลก
* | 56d2467 (หลัก) ทันสมัยน่าเบื่อสำหรับโครงการ
| /
ที่ฉันสร้างคำสั่งใหม่สำหรับมัน:
$ cat ~ / bin / git-rebaseshot
COMMIT = $ 1
DEST = $ {2: -Head}
git rebase $ {COMMIT} ^ $ {COMMIT} - จาก $ DEST
โดยปกติคุณต้องการเติมชื่อสาขาโดยอัตโนมัติสำหรับคำสั่งนั้นดังนั้นให้เพิ่มการจัดหาฟังก์ชันนี้ (เพิ่มเป็น. bashrc หรือ. profile):
_git_rebaseshot ()
{
__gitcomp_nl "$ (__ git_refs)"
}
การเติมข้อความอัตโนมัติ git จะค้นหา
คุณสามารถใช้คำสั่งนี้ดังนี้:
# rebase config on prepro on actual HEAD
$ git rebaseshot prepro
# rebase config on local onto dev
$ git rebaseshot local dev
# rebase production config on master
$ git rebaseshot pro master
เมื่อคุณแบ่งคุณสมบัติอย่างถูกต้องความเป็นไปได้จะไม่มีที่สิ้นสุด
* a8f9182 (HEAD -> postgres) การกำหนดค่า BBDD
* a8f9182 (ในเครื่อง) การกำหนดค่าภายในเครื่อง
* a8f9182 (debug) การกำหนดค่าระดับบันทึก
* a8f9182 (dev) คุณลักษณะใหม่
|
ฉันเดาว่านี่คือสิ่งที่คนชอบทำผ้าห่ม
คำสั่งนี้จะใช้ได้กับทุกสิ่งที่คุณระบุ:
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master