ນີ້ແມ່ນຄໍາສັ່ງ git-format-patch ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
git-format-patch - ກະກຽມ patches ສໍາລັບການສົ່ງ e-mail
ສະຫຼຸບສັງລວມ
ໄປ format-patch [-k] [(-o|--output-directory) | --stdout]
[--ບໍ່ມີກະທູ້ | --ກະທູ້[= ]]
[(--attach|--inline)[= ] | --no-attack]
[-s | --signoff]
[--ລາຍເຊັນ= | --ບໍ່ມີລາຍເຊັນ]
[--signature-file= ]
[-n | --ເລກ | -N | --ບໍ່ມີຕົວເລກ]
[--ເລກເລີ່ມຕົ້ນ ] [--numbered-files]
[--in-reply-to=Message-Id] [--suffix=. ]
[--ignore-if-in-upstream]
[--subject-prefix=Subject-Prefix] [(--reroll-count|-v) ]
[--to= ] [--cc= ]
[--[no-]cover-letter] [--ງຽບ] [--notes[= ]]
[ ]
[ | ]
ລາຍລະອຽດ
ກະກຽມແຕ່ລະຄໍາຫມັ້ນສັນຍາກັບ patch ຂອງມັນຢູ່ໃນຫນຶ່ງໄຟລ໌ຕໍ່ຄໍາຫມັ້ນສັນຍາ, ຮູບແບບໃຫ້ຄ້າຍຄືກັບ UNIX
ຮູບແບບກ່ອງຈົດໝາຍ. ຜົນໄດ້ຮັບຂອງຄໍາສັ່ງນີ້ແມ່ນສະດວກສໍາລັບການສົ່ງອີເມລ໌ຫຼືສໍາລັບການນໍາໃຊ້
ກັບ ໄປ am.
ມີສອງວິທີທີ່ຈະລະບຸວ່າຄໍາຫມັ້ນສັນຍາທີ່ຈະດໍາເນີນການກ່ຽວກັບ.
1. ຄໍາຫມັ້ນສັນຍາດຽວ, , ລະບຸວ່າຄໍາຫມັ້ນສັນຍາທີ່ນໍາໄປສູ່ປາຍຂອງປະຈຸບັນ
ສາຂາທີ່ບໍ່ມີຢູ່ໃນປະຫວັດສາດທີ່ນໍາໄປສູ່ການ ເປັນຜົນຜະລິດ.
2. ທົ່ວໄປ ການສະແດງອອກ (ເບິ່ງ "ການທົບທວນສະເພາະ" ໃນພາກ
ການວິໄສທັດ(7)) ຫມາຍຄວາມວ່າຄໍາຫມັ້ນສັນຍາໃນຂອບເຂດທີ່ກໍານົດໄວ້.
ກົດລະບຽບທໍາອິດມີສ່ວນສໍາຄັນໃນກໍລະນີຂອງການດຽວ . ເພື່ອນໍາໃຊ້ທີສອງ
ກົດລະບຽບ, ie, ການຈັດຮູບແບບທຸກສິ່ງທຸກຢ່າງນັບຕັ້ງແຕ່ການເລີ່ມຕົ້ນຂອງປະຫວັດສາດຈົນກ່ວາ , ໃຊ້
-- ຮາກ ທາງເລືອກ: git format-patch --root . ຖ້າທ່ານຕ້ອງການຈັດຮູບແບບເທົ່ານັ້ນ
ຕົວຂອງມັນເອງ, ທ່ານສາມາດເຮັດໄດ້ດ້ວຍ git format-patch -1 .
ໂດຍຄ່າເລີ່ມຕົ້ນ, ແຕ່ລະໄຟລ໌ຜົນຜະລິດແມ່ນຕົວເລກຕາມລໍາດັບຈາກ 1, ແລະໃຊ້ແຖວທໍາອິດຂອງ
ຂໍ້ຄວາມສັນຍາ (ນວດເພື່ອຄວາມປອດໄພຂອງຊື່ເສັ້ນທາງ) ເປັນຊື່ໄຟລ໌. ກັບ
--numbered-files ທາງເລືອກ, ຊື່ໄຟລ໌ຜົນຜະລິດຈະເປັນຕົວເລກເທົ່ານັ້ນ, ໂດຍບໍ່ມີການທໍາອິດ
ເສັ້ນຂອງຄໍາຫມັ້ນສັນຍາຕໍ່ທ້າຍ. ຊື່ຂອງໄຟລ໌ຜົນຜະລິດໄດ້ຖືກພິມອອກເປັນມາດຕະຖານ,
ເວັ້ນເສຍແຕ່ໄດ້ລະບຸທາງເລືອກ --stdout.
ຖ້າ -o ຖືກລະບຸ, ໄຟລ໌ຜົນຜະລິດແມ່ນຖືກສ້າງຂຶ້ນໃນ . ຖ້າບໍ່ດັ່ງນັ້ນພວກມັນຖືກສ້າງຂື້ນໃນ
ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຫົວຂໍ້ຂອງ patch ດຽວແມ່ນ "[PATCH]" ຕິດຕາມດ້ວຍ concatenation ຂອງ
ເສັ້ນຈາກຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາເຖິງເສັ້ນຫວ່າງທໍາອິດ (ເບິ່ງພາກສົນທະນາຂອງ
git-commit(1)).
ເມື່ອຫຼາຍ patches ແມ່ນຜົນຜະລິດ, ຫົວຂໍ້ prefix ແທນທີ່ຈະເປັນ "[PATCH n/m]". ເຖິງ
ບັງຄັບໃຫ້ເພີ່ມ 1/1 ສໍາລັບແຜ່ນດຽວ, ໃຊ້ -n. ເພື່ອຍົກເລີກຕົວເລກ patch ຈາກຫົວຂໍ້,
ໃຊ້ -N.
ຖ້າໃຫ້ --thread, git-format-patch ຈະສ້າງ In-Reply-To ແລະ References headers ເພື່ອ
ເຮັດໃຫ້ອີເມລ patch ຄັ້ງທີສອງແລະຕໍ່ມາປະກົດວ່າເປັນການຕອບກັບເມລທໍາອິດ; ອັນນີ້
ສ້າງສ່ວນຫົວ Message-Id ເພື່ອອ້າງອີງ.
OPTIONS
-p, --no-stat
ສ້າງ patches ທໍາມະດາໂດຍບໍ່ມີຄວາມແຕກຕ່າງໃດໆ.
-s, --no-patch
ສະກັດກັ້ນຜົນຜະລິດທີ່ແຕກຕ່າງ. ເປັນປະໂຫຍດສໍາລັບຄໍາສັ່ງເຊັ່ນ git show ທີ່ສະແດງໃຫ້ເຫັນ patch ໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ຫຼືເພື່ອຍົກເລີກຜົນກະທົບຂອງ --patch.
-U , --unified=
ສ້າງຄວາມແຕກຕ່າງກັບ ເສັ້ນຂອງບໍລິບົດແທນທີ່ຈະເປັນສາມປົກກະຕິ.
--ໜ້ອຍທີ່ສຸດ
ໃຊ້ເວລາພິເສດເພື່ອໃຫ້ແນ່ໃຈວ່າຄວາມແຕກຕ່າງທີ່ເປັນໄປໄດ້ຫນ້ອຍທີ່ສຸດແມ່ນຜະລິດ.
-- ຄວາມອົດທົນ
ສ້າງຄວາມແຕກຕ່າງໂດຍໃຊ້ສູດການຄິດໄລ່ "ຄວາມອົດທົນ".
--Histogram
ສ້າງຄວາມແຕກຕ່າງໂດຍໃຊ້ວິທີ "histogram diff".
--diff-algorithm={ຄວາມອົດທົນ|ໜ້ອຍສຸດ|ຮີສໂຕແກຣມ|myers}
ເລືອກສູດການຄິດໄລ່ຄວາມແຕກຕ່າງ. variants ມີດັ່ງຕໍ່ໄປນີ້:
ຄ່າເລີ່ມຕົ້ນ, myers
ສູດການຄິດໄລ່ຄວາມແຕກຕ່າງຂອງຄວາມໂລບມາກຂັ້ນພື້ນຖານ. ໃນປັດຈຸບັນ, ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.
ຫນ້ອຍ
ໃຊ້ເວລາພິເສດເພື່ອໃຫ້ແນ່ໃຈວ່າຄວາມແຕກຕ່າງທີ່ເປັນໄປໄດ້ຫນ້ອຍທີ່ສຸດແມ່ນຜະລິດ.
ຄວາມອົດທົນ
ໃຊ້ "ຄວາມອົດທົນທີ່ແຕກຕ່າງ" algorithm ເມື່ອສ້າງ patches.
histogram
ສູດການຄິດໄລ່ນີ້ຂະຫຍາຍ algorithm ຄວາມອົດທົນເພື່ອ "ສະຫນັບສະຫນູນການປະກົດຕົວຕ່ໍາ
ອົງປະກອບ".
ຕົວຢ່າງ, ຖ້າທ່ານຕັ້ງຄ່າຕົວແປ diff.algorithm ເປັນຄ່າທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນ ແລະ
ຕ້ອງການໃຊ້ຄ່າເລີ່ມຕົ້ນ, ຈາກນັ້ນເຈົ້າຕ້ອງໃຊ້ --diff-algorithm=default option.
--stat[= [, [, ]]]
ສ້າງ diffstat. ໂດຍຄ່າເລີ່ມຕົ້ນ, ພື້ນທີ່ຫຼາຍເທົ່າທີ່ຈໍາເປັນຈະຖືກນໍາໃຊ້ສໍາລັບ
ສ່ວນຊື່ໄຟລ໌, ແລະສ່ວນທີ່ເຫຼືອສໍາລັບພາກສ່ວນກາຟ. ຄວາມກວ້າງສູງສຸດເປັນຄ່າເລີ່ມຕົ້ນເປັນເຄື່ອງໝາຍປາຍທາງ
width, ຫຼື 80 ຖັນຖ້າບໍ່ເຊື່ອມຕໍ່ກັບ terminal, ແລະສາມາດ overridden ໂດຍ .
ຄວາມກວ້າງຂອງພາກສ່ວນຊື່ໄຟລ໌ສາມາດຖືກຈໍາກັດໂດຍການໃຫ້ຄວາມກວ້າງອື່ນ
ຫຼັງຈາກເຄື່ອງໝາຍຈຸດ. ຄວາມກວ້າງຂອງພາກສ່ວນກາຟສາມາດຖືກຈໍາກັດໂດຍການນໍາໃຊ້
--stat-graph-width= (ມີຜົນຕໍ່ຄໍາສັ່ງທັງໝົດທີ່ສ້າງຕາຕະລາງສະຖິຕິ) ຫຼືໂດຍ
ການຕັ້ງຄ່າ diff.statGraphWidth= (ບໍ່ມີຜົນກະທົບ git format-patch). ໂດຍການໃຫ້ ກ
ຕົວກໍານົດການທີສາມ , ທ່ານສາມາດຈໍາກັດຜົນຜະລິດຄັ້ງທໍາອິດ ສາຍ, ປະຕິບັດຕາມ
by ... ຖ້າຫາກວ່າມີຫຼາຍ.
ຕົວກໍານົດການເຫຼົ່ານີ້ຍັງສາມາດຖືກກໍານົດເປັນສ່ວນບຸກຄົນດ້ວຍ --stat-width= ,
--stat-name-width= ແລະ --stat-count= .
--numstat
ຄ້າຍຄື --stat, ແຕ່ສະແດງໃຫ້ເຫັນຈໍານວນຂອງການເພີ່ມແລະການລົບເສັ້ນໃນຫມາຍເຫດທົດສະນິຍົມແລະ
ຊື່ເສັ້ນທາງທີ່ບໍ່ມີຕົວຫຍໍ້, ເພື່ອເຮັດໃຫ້ມັນເປັນມິດກັບເຄື່ອງຈັກ. ສໍາລັບໄຟລ໌ຖານສອງ,
ຜົນໄດ້ຮັບສອງ - ແທນທີ່ຈະເວົ້າວ່າ 0 0.
-- ສະຖິຕິສັ້ນ
ສົ່ງອອກພຽງແຕ່ແຖວສຸດທ້າຍຂອງຮູບແບບ --stat ທີ່ມີຈໍານວນການດັດແກ້ທັງຫມົດ
ໄຟລ໌, ເຊັ່ນດຽວກັນກັບຈໍານວນຂອງແຖວທີ່ເພີ່ມແລະລຶບ.
--dirstat[= ]
ສົ່ງອອກການແຈກຢາຍຂອງປະລິມານທີ່ສົມທຽບຂອງການປ່ຽນແປງສໍາລັບແຕ່ລະໄດເລກະທໍລີຍ່ອຍ. ໄດ້
ພຶດຕິກໍາຂອງ --dirstat ສາມາດປັບແຕ່ງໄດ້ໂດຍການສົ່ງມັນບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ
ຕົວກໍານົດການ. ຄ່າເລີ່ມຕົ້ນຖືກຄວບຄຸມໂດຍຕົວແປການຕັ້ງຄ່າ diff.dirstat
(ເບິ່ງ git-config(1)). ຕົວກໍານົດການດັ່ງຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້:
ການປ່ຽນແປງ
ຄິດໄລ່ຕົວເລກ dirstat ໂດຍການນັບເສັ້ນທີ່ຖືກໂຍກຍ້າຍອອກຈາກ
ແຫຼ່ງ, ຫຼືເພີ່ມໃສ່ປາຍທາງ. ນີ້ບໍ່ສົນໃຈຈໍານວນລະຫັດບໍລິສຸດ
ການເຄື່ອນໄຫວພາຍໃນໄຟລ໌. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ການຈັດແຖວໃຫມ່ໃນໄຟລ໌ບໍ່ແມ່ນ
ນັບເທົ່າກັບການປ່ຽນແປງອື່ນໆ. ນີ້ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນເມື່ອບໍ່ມີພາລາມິເຕີ
ແມ່ນໃຫ້.
ສາຍ
ຄິດໄລ່ຕົວເລກ dirstat ໂດຍການເຮັດການວິເຄາະຄວາມແຕກຕ່າງຕາມເສັ້ນປົກກະຕິ, ແລະ
ສະຫຼຸບການຍົກເລີກການນັບເສັ້ນທີ່ຖືກລົບອອກ / ເພີ່ມ. (ສຳລັບໄຟລ໌ໄບນາຣີ, ໃຫ້ນັບ 64-byte chunks
ແທນທີ່ຈະ, ເນື່ອງຈາກວ່າໄຟລ໌ຖານສອງບໍ່ມີແນວຄວາມຄິດທໍາມະຊາດຂອງສາຍ). ນີ້ແມ່ນເພີ່ມເຕີມ
ພຶດຕິກໍາ -dirstat ລາຄາແພງກວ່າການປ່ຽນແປງພຶດຕິກໍາ, ແຕ່ມັນນັບ
ຈັດແຖວຄືນໃໝ່ພາຍໃນໄຟລ໌ເທົ່າກັບການປ່ຽນແປງອື່ນໆ. ຜົນໄດ້ຮັບຜົນໄດ້ຮັບແມ່ນ
ສອດຄ້ອງກັບສິ່ງທີ່ທ່ານໄດ້ຮັບຈາກທາງເລືອກອື່ນ --* ສະຖິຕິ.
ໄຟ
ຄິດໄລ່ຕົວເລກ dirstat ໂດຍການນັບຈໍານວນໄຟລ໌ທີ່ປ່ຽນແປງ. ແຕ່ລະຄົນມີການປ່ຽນແປງ
ໄຟລ໌ນັບເທົ່າທຽມກັນໃນການວິເຄາະ dirstat. ນີ້ແມ່ນລາຄາຖືກສຸດໃນຄອມພິວເຕີ້
--dirstat ພຶດຕິກໍາ, ເນື່ອງຈາກວ່າມັນບໍ່ຈໍາເປັນຕ້ອງເບິ່ງເນື້ອໃນໄຟລ໌ທັງຫມົດ.
ສົມບູນ
ນັບການປ່ຽນແປງໃນໄດເລກະທໍລີລູກສໍາລັບໄດເລກະທໍລີພໍ່ແມ່ເຊັ່ນກັນ. ໃຫ້ສັງເກດວ່າ
ໃນເວລາທີ່ການນໍາໃຊ້ສະສົມ, ຜົນລວມຂອງອັດຕາສ່ວນລາຍງານອາດຈະເກີນ 100%. ໄດ້
ພຶດຕິກຳເລີ່ມຕົ້ນ (ບໍ່ສະສົມ) ສາມາດຖືກລະບຸດ້ວຍ noncumulative
ພາລາມິເຕີ.
ຕົວກໍານົດການຈໍານວນເຕັມກໍານົດອັດຕາສ່ວນຕັດອອກ (3% ໂດຍຄ່າເລີ່ມຕົ້ນ). ລາຍຊື່
ການປະກອບສ່ວນຫນ້ອຍກວ່າອັດຕາສ່ວນຂອງການປ່ຽນແປງນີ້ບໍ່ໄດ້ສະແດງຢູ່ໃນຜົນຜະລິດ.
ຕົວຢ່າງ: ຕໍ່ໄປນີ້ຈະນັບໄຟລ໌ທີ່ປ່ຽນແປງ, ໃນຂະນະທີ່ບໍ່ສົນໃຈໄດເລກະທໍລີທີ່ມີຫນ້ອຍລົງ
ຫຼາຍກ່ວາ 10% ຂອງຈໍານວນທັງຫມົດຂອງໄຟລ໌ປ່ຽນແປງ, ແລະການສະສົມການນັບລະບົບຂອງເດັກນ້ອຍ
ໃນໄດເລກະທໍລີຫຼັກ: --dirstat=files,10,cumulative.
-- ສະຫຼຸບ
ສົ່ງບົດສະຫຼຸບຫຍໍ້ຂອງຂໍ້ມູນສ່ວນຫົວທີ່ຂະຫຍາຍອອກເຊັ່ນ: ການສ້າງ, ການປ່ຽນຊື່
ແລະການປ່ຽນແປງຮູບແບບ.
--no-renames
ປິດການກວດສອບການປ່ຽນຊື່, ເຖິງແມ່ນວ່າໃນເວລາທີ່ໄຟລ໌ການຕັ້ງຄ່າໃຫ້ຄ່າເລີ່ມຕົ້ນທີ່ຈະເຮັດ
ດັ່ງນັ້ນ.
--ດັດຊະນີເຕັມ
ແທນທີ່ຈະເປັນມືທຳອິດຂອງຕົວລະຄອນ, ສະແດງຮູບເຕັມກ່ອນ ແລະຫຼັງຮູບ
ຊື່ວັດຖຸຢູ່ໃນເສັ້ນ "ດັດສະນີ" ເມື່ອສ້າງຜົນຜະລິດຮູບແບບ patch.
--binary
ນອກເຫນືອຈາກ --indexfull-index, output a binary diff ທີ່ສາມາດຖືກນໍາໃຊ້ກັບ git-apply.
--abbrev[= ]
ແທນທີ່ຈະສະແດງຊື່ວັດຖຸເລກຖານສິບຫົກຫົກສິບໄບເຕັມ 40-byte ໃນຮູບແບບທີ່ຕ່າງກັນຜົນອອກມາ.
ແລະ diff-tree header ເສັ້ນ, ສະແດງພຽງແຕ່ຄໍານໍາຫນ້າບາງສ່ວນ. ນີ້ແມ່ນເອກະລາດຂອງ
--full-index ທາງເລືອກຂ້າງເທິງ, ເຊິ່ງຄວບຄຸມຮູບແບບຜົນຜະລິດ diff-patch. ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນ
ຈໍານວນຕົວເລກສາມາດຖືກກໍານົດດ້ວຍ --abbrev= .
-B[ ][/ ], --break-rewrites[=[ ][/ ]]
ແຍກການປ່ຽນແປງການຂຽນຄືນທີ່ສົມບູນເປັນຄູ່ຂອງການລຶບແລະສ້າງ. ນີ້ໃຫ້ບໍລິການສອງ
ຈຸດປະສົງ:
ມັນມີຜົນກະທົບຕໍ່ການປ່ຽນແປງທີ່ເທົ່າກັບການຂຽນຄືນທັງຫມົດຂອງໄຟລ໌ທີ່ບໍ່ແມ່ນຊຸດ
ຂອງການລຶບແລະການແຊກຊ້ອນເຂົ້າກັນກັບສອງສາມເສັ້ນທີ່ກົງກັນ
textually as the context, but as a single deleted of all olded ຕາມດ້ວຍ a
ການແຊກອັນດຽວຂອງທຸກສິ່ງທຸກຢ່າງໃຫມ່, ແລະຈໍານວນ m ຄວບຄຸມລັກສະນະນີ້ຂອງ -B
ທາງເລືອກ (ຄ່າເລີ່ມຕົ້ນເປັນ 60%). -B/70% ກໍານົດວ່າຫນ້ອຍກວ່າ 30% ຂອງຕົ້ນສະບັບຄວນ
ຍັງຄົງຢູ່ໃນຜົນໄດ້ຮັບສໍາລັບ Git ເພື່ອພິຈາລະນາວ່າມັນເປັນການຂຽນຄືນໃຫມ່ທັງຫມົດ (ie ຖ້າບໍ່ດັ່ງນັ້ນ
patch ຜົນໄດ້ຮັບຈະເປັນຊຸດຂອງການລຶບແລະການແຊກຊ້ອນເຂົ້າກັນກັບບໍລິບົດ
ສາຍ).
ເມື່ອໃຊ້ກັບ -M, ໄຟລ໌ທີ່ຂຽນຄືນໃຫມ່ທັງຫມົດຍັງຖືວ່າເປັນແຫຼ່ງຂອງ a
rename (ປົກກະຕິແລ້ວ -M ພຽງແຕ່ພິຈາລະນາໄຟລ໌ທີ່ຫາຍໄປເປັນແຫຼ່ງຂອງການປ່ຽນຊື່),
ແລະຕົວເລກ n ຄວບຄຸມລັກສະນະນີ້ຂອງຕົວເລືອກ -B (ຄ່າເລີ່ມຕົ້ນເປັນ 50%). -B20%
ລະບຸວ່າມີການປ່ຽນແປງດ້ວຍການເພີ່ມແລະການລຶບເມື່ອປຽບທຽບກັບ 20% ຫຼືຫຼາຍກວ່ານັ້ນ
ຂະຫນາດຂອງໄຟລ໌ແມ່ນມີສິດໄດ້ຮັບທີ່ຈະໄດ້ຮັບການເກັບຂຶ້ນເປັນແຫຼ່ງທີ່ເປັນໄປໄດ້ຂອງການປ່ຽນຊື່ເປັນ
ໄຟລ໌ອື່ນ.
-M[ ], --find-renames[= ]
ກວດພົບການປ່ຽນຊື່. ຖ້າ n ຖືກລະບຸ, ມັນເປັນເກນຢູ່ໃນດັດຊະນີຄວາມຄ້າຍຄືກັນ (ie
ຈໍານວນຂອງການເພີ່ມ / ການລົບທຽບກັບຂະຫນາດຂອງໄຟລ໌). ຕົວຢ່າງ, -M90% ຫມາຍຄວາມວ່າ
Git ຄວນພິຈາລະນາການລຶບ / ເພີ່ມຄູ່ທີ່ຈະປ່ຽນຊື່ຖ້າມີຫຼາຍກວ່າ 90% ຂອງໄຟລ໌
ບໍ່ໄດ້ມີການປ່ຽນແປງ. ໂດຍບໍ່ມີເຄື່ອງຫມາຍ %, ຕົວເລກຈະຖືກອ່ານເປັນສ່ວນຫນຶ່ງ, ດ້ວຍ a
ຈຸດທົດສະນິຍົມກ່ອນມັນ. Ie, -M5 ກາຍເປັນ 0.5, ແລະດັ່ງນັ້ນຈຶ່ງຄືກັນກັບ -M50%.
ເຊັ່ນດຽວກັນ, -M05 ແມ່ນຄືກັນກັບ -M5%. ເພື່ອຈຳກັດການກວດຫາການປ່ຽນຊື່ທີ່ແນ່ນອນ, ໃຫ້ໃຊ້ -M100%.
ດັດຊະນີຄວາມຄ້າຍຄືກັນໃນຕອນຕົ້ນແມ່ນ 50%.
-C[ ], --find-copies[= ]
ກວດສອບສໍາເນົາເຊັ່ນດຽວກັນກັບການປ່ຽນຊື່. ເບິ່ງຕື່ມ --find-copies-harder. ຖ້າ n ຖືກລະບຸ, ມັນ
ມີຄວາມຫມາຍດຽວກັນກັບ -M .
-- find-copies- harder
ສໍາລັບເຫດຜົນການປະຕິບັດ, ໂດຍຄ່າເລີ່ມຕົ້ນ, ທາງເລືອກ -C ຊອກຫາສໍາເນົາພຽງແຕ່ຖ້າໄຟລ໌ຕົ້ນສະບັບ
ຂອງສໍາເນົາໄດ້ຖືກດັດແກ້ໃນຊຸດການປ່ຽນແປງດຽວກັນ. ທຸງນີ້ເຮັດໃຫ້ຄໍາສັ່ງກວດກາ
ໄຟລ໌ທີ່ບໍ່ມີການດັດແກ້ເປັນຜູ້ສະຫມັກສໍາລັບແຫຼ່ງສໍາເນົາ. ນີ້ແມ່ນລາຄາແພງຫຼາຍ
ການດໍາເນີນງານສໍາລັບໂຄງການຂະຫນາດໃຫຍ່, ສະນັ້ນໃຊ້ມັນດ້ວຍຄວາມລະມັດລະວັງ. ໃຫ້ຫຼາຍກວ່າຫນຶ່ງທາງເລືອກ -C
ມີຜົນກະທົບດຽວກັນ.
-D, --irreversible-delete
ຍົກເລີກ preimage ສໍາລັບການລຶບ, ie ພິມພຽງແຕ່ header ແຕ່ບໍ່ແມ່ນຄວາມແຕກຕ່າງລະຫວ່າງ
preimage ແລະ /dev/null. patch ຜົນໄດ້ຮັບບໍ່ໄດ້ຫມາຍຄວາມວ່າຈະຖືກນໍາໃຊ້ກັບ patch ຫຼື
git ສະຫມັກ; ນີ້ແມ່ນພຽງແຕ່ສໍາລັບຜູ້ທີ່ຕ້ອງການພຽງແຕ່ສຸມໃສ່ການທົບທວນຄືນ
ຂໍ້ຄວາມຫຼັງຈາກການປ່ຽນແປງ. ນອກຈາກນັ້ນ, ຜົນຜະລິດແນ່ນອນວ່າຂາດຂໍ້ມູນພຽງພໍທີ່ຈະ
ນໍາໃຊ້ patch ດັ່ງກ່າວໃນທາງກັບກັນ, ເຖິງແມ່ນວ່າດ້ວຍຕົນເອງ, ເພາະສະນັ້ນຊື່ຂອງທາງເລືອກ.
ເມື່ອໃຊ້ຮ່ວມກັບ -B, ຍົກເວັ້ນ preimage ໃນສ່ວນການລຶບຂອງ a
ລຶບ/ສ້າງຄູ່.
-l
ຕົວເລືອກ -M ແລະ -C ຕ້ອງການເວລາປະມວນຜົນ O(n^2) ເຊິ່ງ n ແມ່ນຕົວເລກຂອງ
ເປົ້າໝາຍການປ່ຽນຊື່/ສຳເນົາທີ່ເປັນໄປໄດ້. ທາງເລືອກນີ້ປ້ອງກັນການກວດສອບການປ່ຽນຊື່ / ສໍາເນົາຈາກການແລ່ນ
ຖ້າຈໍານວນເປົ້າຫມາຍການປ່ຽນຊື່ / ສໍາເນົາເກີນຈໍານວນທີ່ກໍານົດໄວ້.
-ອ
ຜົນຜະລິດ patch ໃນຄໍາສັ່ງທີ່ລະບຸໄວ້ໃນ , ເຊິ່ງມີເປືອກໂລກໜ່ວຍໜຶ່ງ
ຮູບແບບຕໍ່ເສັ້ນ. ອັນນີ້ overrides ຕົວແປການຕັ້ງຄ່າ diff.orderFile (ເບິ່ງ git-
config(1)). ເພື່ອຍົກເລີກ diff.orderFile, ໃຫ້ໃຊ້ -O/dev/null.
-a, --text
ປະຕິບັດທຸກໄຟລ໌ເປັນຂໍ້ຄວາມ.
--ignore-space-at-eol
ບໍ່ສົນໃຈການປ່ຽນແປງໃນຊ່ອງຫວ່າງຢູ່ EOL.
-b, --ignore-space-change
ບໍ່ສົນໃຈການປ່ຽນແປງຈໍານວນຊ່ອງຫວ່າງ. ນີ້ລະເລີຍຊ່ອງຫວ່າງຢູ່ທ້າຍແຖວ, ແລະ
ພິຈາລະນາລໍາດັບອື່ນໆທັງຫມົດຂອງຫນຶ່ງຫຼືຫຼາຍຕົວອັກສອນ whitespace ຈະເທົ່າທຽມກັນ.
-w, --ignore-all-space
ບໍ່ສົນໃຈຊ່ອງຫວ່າງເມື່ອປຽບທຽບເສັ້ນ. ນີ້ບໍ່ສົນໃຈຄວາມແຕກຕ່າງເຖິງແມ່ນວ່າເສັ້ນຫນຶ່ງມີ
ຊ່ອງຫວ່າງທີ່ແຖວອື່ນບໍ່ມີ.
--ignore-blank-lines
ບໍ່ສົນໃຈການປ່ຽນແປງຂອງແຖວທັງໝົດແມ່ນຫວ່າງເປົ່າ.
--inter-hunk-context=
ສະແດງເນື້ອໃນລະຫວ່າງ diff hunks, ເຖິງຈໍານວນທີ່ກໍານົດໄວ້ຂອງເສັ້ນ, ສະນັ້ນ
fusing hunks ທີ່ຢູ່ໃກ້ກັບກັນແລະກັນ.
-W, --function-context
ສະແດງຫນ້າທີ່ອ້ອມຂ້າງທັງຫມົດຂອງການປ່ຽນແປງ.
--ext-diff
ອະນຸຍາດໃຫ້ປະຕິບັດຕົວຊ່ວຍຄວາມແຕກຕ່າງພາຍນອກ. ຖ້າຫາກວ່າທ່ານກໍານົດການຂັບລົດຄວາມແຕກຕ່າງພາຍນອກກັບ
gitattributes(5), ທ່ານຈໍາເປັນຕ້ອງໃຊ້ທາງເລືອກນີ້ກັບ git-log(1) ແລະຫມູ່ເພື່ອນ.
--no-ext-diff
ບໍ່ອະນຸຍາດໄດເວີທີ່ແຕກຕ່າງພາຍນອກ.
--textconv, --no-textconv
ອະນຸຍາດໃຫ້ (ຫຼືບໍ່ອະນຸຍາດໃຫ້) ຕົວກັ່ນຕອງການປ່ຽນແປງຂໍ້ຄວາມພາຍນອກໄດ້ຮັບການແລ່ນໃນເວລາທີ່ການປຽບທຽບຖານສອງ
ໄຟລ໌. ເບິ່ງ gitattributes(5) ສໍາລັບລາຍລະອຽດ. ເນື່ອງຈາກວ່າຕົວກອງ textconv ໂດຍປົກກະຕິແມ່ນ a
ການຫັນປ່ຽນທາງດຽວ, ຄວາມແຕກຕ່າງຜົນໄດ້ຮັບແມ່ນເຫມາະສົມສໍາລັບການບໍລິໂພກຂອງມະນຸດ, ແຕ່ບໍ່ສາມາດ
ນຳໃຊ້. ສໍາລັບເຫດຜົນນີ້, ຕົວກອງ textconv ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນພຽງແຕ່ສໍາລັບ git-
diff(1) ແລະ git-log(1), ແຕ່ບໍ່ແມ່ນສໍາລັບ git-format-patch(1) ຫຼືຄໍາສັ່ງປະປາທີ່ແຕກຕ່າງກັນ.
--ignore-submodules[= ]
ບໍ່ສົນໃຈການປ່ຽນແປງຕໍ່ໂມດູນຍ່ອຍໃນການຜະລິດທີ່ແຕກຕ່າງ. ສາມາດເປັນ "ບໍ່ມີ",
"untracked", "ເປື້ອນ" ຫຼື "ທັງຫມົດ", ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ. ການນໍາໃຊ້ "none" ຈະພິຈາລະນາ
ໂມດູນຍ່ອຍຖືກແກ້ໄຂເມື່ອມັນມີໄຟລ໌ທີ່ບໍ່ໄດ້ຕິດຕາມ ຫຼືຖືກແກ້ໄຂ ຫຼື HEAD ຂອງມັນ
ແຕກຕ່າງຈາກຄໍາຫມັ້ນສັນຍາທີ່ບັນທຶກໄວ້ໃນ superproject ແລະສາມາດຖືກນໍາໃຊ້ເພື່ອ override ໃດ
ການຕັ້ງຄ່າຂອງ ບໍ່ສົນໃຈ option in git-config(1) ຫຼື gitmodules(5). ໃນເວລາທີ່ "untracked" ແມ່ນ
ໂມດູນຍ່ອຍທີ່ໃຊ້ແລ້ວບໍ່ໄດ້ຖືກພິຈາລະນາວ່າເປື້ອນເມື່ອພວກມັນມີພຽງແຕ່ເນື້ອຫາທີ່ບໍ່ໄດ້ຮັບການຕິດຕາມ (ແຕ່
ພວກມັນຍັງຖືກສະແກນຫາເນື້ອຫາດັດແກ້). ການນໍາໃຊ້ "ເປື້ອນ" ບໍ່ສົນໃຈການປ່ຽນແປງທັງຫມົດຕໍ່ກັບ
ເປັນໄມ້ຢືນຕົ້ນການເຮັດວຽກຂອງ submodules, ພຽງແຕ່ການປ່ຽນແປງ commits ເກັບຮັກສາໄວ້ໃນ superproject ແມ່ນ
ສະແດງໃຫ້ເຫັນ (ນີ້ແມ່ນພຶດຕິກໍາຈົນກ່ວາ 1.7.0). ການໃຊ້ "ທັງໝົດ" ເຊື່ອງການປ່ຽນແປງທັງໝົດ
ໂມດູນຍ່ອຍ.
--src-prefix=
ສະແດງຄຳນຳໜ້າແຫຼ່ງທີ່ມາແທນ "a/".
--dst-prefix=
ສະແດງຄຳນຳໜ້າປາຍທາງທີ່ໃຫ້ມາແທນ "b/".
--no-prefix
ຢ່າສະແດງແຫຼ່ງທີ່ມາ ຫຼືຄຳນຳໜ້າປາຍທາງ.
ສໍາລັບຄໍາອະທິບາຍລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບທາງເລືອກທົ່ວໄປເຫຼົ່ານີ້, ເບິ່ງເຊັ່ນກັນ gitdiffcore(7).
-
ກະກຽມ patches ຈາກເທິງສຸດ ຄໍາຫມັ້ນສັນຍາ.
-o , --output-directory
ໃຊ້ ເພື່ອເກັບຮັກສາໄຟລ໌ຜົນໄດ້ຮັບ, ແທນທີ່ຈະເປັນໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.
-n, --ເລກ
ຊື່ອອກໃນ [PATCH n/m] ຮູບແບບ, ເຖິງແມ່ນວ່າມີ patch ດຽວ.
-N, --ບໍ່ມີຕົວເລກ
ຊື່ອອກໃນ [PATCH] ຮູບແບບ.
--ໝາຍເລກເລີ່ມຕົ້ນ
ເລີ່ມຕົ້ນຈໍານວນການແກ້ໄຂທີ່ ແທນທີ່ຈະເປັນ 1.
--numbered-files
ຊື່ໄຟລ໌ຜົນໄດ້ຮັບຈະເປັນລໍາດັບຕົວເລກທີ່ງ່າຍດາຍໂດຍບໍ່ມີແຖວທໍາອິດເລີ່ມຕົ້ນ
ຄໍາຫມັ້ນສັນຍາໄດ້ຕໍ່ທ້າຍ.
-k, --keep-subject
ຢ່າລອກ / ເພີ່ມ [PATCH] ຈາກແຖວທໍາອິດຂອງຂໍ້ຄວາມບັນທຶກຄໍາຫມັ້ນສັນຍາ.
-s, --signoff
ເພີ່ມ Signed-off-by: line to the commit message, using the committer identity of
ຕົວທ່ານເອງ. ເບິ່ງຕົວເລືອກ signoff ໃນ git-commit(1) ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--stdout
ພິມຄໍາຫມັ້ນສັນຍາທັງຫມົດໃຫ້ກັບຜົນໄດ້ຮັບມາດຕະຖານໃນຮູບແບບ mbox, ແທນທີ່ຈະສ້າງໄຟລ໌
ສໍາລັບແຕ່ລະຄົນ.
--ແນບ[= ]
ສ້າງໄຟລ໌ແນບຫຼາຍສ່ວນ / ປະສົມ, ສ່ວນທໍາອິດທີ່ເປັນຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາແລະ
patch ຕົວຂອງມັນເອງຢູ່ໃນສ່ວນທີສອງ, ມີ Content-Disposition: attachment.
--ບໍ່ຕິດ
ປິດໃຊ້ງານການສ້າງໄຟລ໌ແນບ, ລົບລ້າງການຕັ້ງຄ່າການຕັ້ງຄ່າ.
--inline[= ]
ສ້າງໄຟລ໌ແນບຫຼາຍສ່ວນ / ປະສົມ, ສ່ວນທໍາອິດທີ່ເປັນຂໍ້ຄວາມຄໍາຫມັ້ນສັນຍາແລະ
patch ຕົວຂອງມັນເອງຢູ່ໃນສ່ວນທີສອງ, ມີ Content-Disposition: inline.
--ກະທູ້[= ], --no-thread
ຄວບຄຸມການເພີ່ມເຕີມຂອງສ່ວນຫົວ In-Reply-To ແລະ References ເພື່ອເຮັດໃຫ້ທີສອງ ແລະ
ເມລຕໍ່ມາປາກົດເປັນການຕອບກັບອັນທໍາອິດ. ນອກຈາກນີ້ຍັງຄວບຄຸມການຜະລິດຂອງ
Message-Id ສ່ວນຫົວເພື່ອອ້າງອີງ.
ທາງເລືອກ argument can be either shallow or deep. ຕື້ນ threading ເຮັດໃຫ້
ທຸກໆ mail ຕອບກັບຫົວຂອງຊຸດ, ບ່ອນທີ່ຫົວໄດ້ຖືກເລືອກຈາກຝາປິດ
ຈົດໝາຍ, --in-reply-to, and the first patch mail, in this order. ເລິກ ກະທູ້
ເຮັດໃຫ້ທຸກອີເມລຕອບກັບທີ່ຜ່ານມາ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ --no-thread, ເວັ້ນເສຍແຕ່ວ່າ format.thread ການຕັ້ງຄ່າຖືກຕັ້ງ. ຖ້າ -- ກະທູ້
ຖືກລະບຸໂດຍບໍ່ມີຮູບແບບ, ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນຂອງຮູບແບບທີ່ລະບຸໄວ້ໂດຍ format.thread if
ໃດໆ, ຫຼືອື່ນໆຕື້ນ.
ຈົ່ງລະວັງວ່າຄ່າເລີ່ມຕົ້ນສໍາລັບ ໄປ ສົ່ງອີເມວ ແມ່ນການກະທູ້ອີເມວຕົວມັນເອງ. ຖ້າທ່ານຕ້ອງການ git
format-patch ເພື່ອດູແລ threading, ທ່ານຈະຕ້ອງການທີ່ຈະຮັບປະກັນວ່າ threading ແມ່ນ
ປິດການໃຊ້ງານສໍາລັບ git send-email.
--in-reply-to=Message-Id
ເຮັດໃຫ້ mail ທໍາອິດ (ຫຼື mails ທັງຫມົດທີ່ມີ --no-thread) ປາກົດເປັນການຕອບກັບທີ່ໃຫ້
Message-Id, ເຊິ່ງຫຼີກລ່ຽງການແຕກກະທູ້ເພື່ອໃຫ້ຊຸດ patch ໃໝ່.
--ignore-if-in-upstream
ບໍ່ລວມເອົາແຜ່ນທີ່ກົງກັບຄໍາຫມັ້ນສັນຍາໃນ .. . ນີ້ຈະກວດສອບ
ເພີ້ມທັງຫມົດສາມາດບັນລຸໄດ້ຈາກ ແຕ່ບໍ່ແມ່ນມາຈາກ ແລະປຽບທຽບພວກເຂົາກັບ
patches ກໍາລັງຖືກສ້າງຂື້ນ, ແລະ patch ທີ່ກົງກັນແມ່ນຖືກລະເລີຍ.
--subject-prefix=
ແທນທີ່ຈະເປັນມາດຕະຖານ [PATCH] ຄໍານໍາຫນ້າໃນເສັ້ນຫົວຂໍ້, ແທນທີ່ຈະໃຊ້
[ ]. ນີ້ອະນຸຍາດໃຫ້ສໍາລັບການຕັ້ງຊື່ທີ່ເປັນປະໂຫຍດຂອງຊຸດ patch, ແລະສາມາດ
ບວກກັບຕົວເລືອກ --numbered.
-v , --reroll-count=
ໝາຍຊຸດເປັນ -th iteration ຂອງຫົວຂໍ້. ຊື່ໄຟລ໌ຜົນຜະລິດມີ v
prepended ໃຫ້ເຂົາເຈົ້າ, ແລະຄໍານໍາຫນ້າຫົວຂໍ້ ("PATCH" ໂດຍຄ່າເລີ່ມຕົ້ນ, ແຕ່ configurable ຜ່ານ.
ຕົວເລືອກ --subject-prefix) ມີ `v ` ຕື່ມໃສ່ກັບມັນ. ຕົວຢ່າງ --reroll-count=4 ອາດຈະ
produce v4-0001-add-makefile.patch ໄຟລ໌ທີ່ມີ "Subject: [PATCH v4 1/20] Add
makefile" ໃນນັ້ນ.
--to=
ເພີ່ມ To: header to the email headers. ອັນນີ້ນອກເໜືອໄປຈາກສ່ວນຫົວທີ່ກຳນົດຄ່າແລ້ວ,
ແລະອາດຈະຖືກນໍາໃຊ້ຫຼາຍຄັ້ງ. ແບບຟອມທີ່ຖືກປະຕິເສດ --no-to discards ທັງຫມົດ To: headers
ເພີ່ມມາເຖິງຕອນນັ້ນ (ຈາກ config ຫຼືເສັ້ນຄໍາສັ່ງ).
--cc=
ເພີ່ມ Cc: header ໃສ່ສ່ວນຫົວຂອງອີເມວ. ອັນນີ້ນອກເໜືອໄປຈາກສ່ວນຫົວທີ່ກຳນົດຄ່າແລ້ວ,
ແລະອາດຈະຖືກນໍາໃຊ້ຫຼາຍຄັ້ງ. ແບບຟອມທີ່ຖືກປະຕິເສດ --no-cc ຍົກເລີກ Cc: headers ທັງໝົດ
ເພີ່ມມາເຖິງຕອນນັ້ນ (ຈາກ config ຫຼືເສັ້ນຄໍາສັ່ງ).
--from, --from=
ໃຊ້ຕົວຕົນຢູ່ໃນຫົວຂໍ້ຈາກ: ແຕ່ລະອີເມລ໌ commit. ຖ້າຜູ້ຂຽນກໍານົດຄໍາຫມັ້ນສັນຍາ
ບໍ່ເປັນຕົວໜັງສືຄືກັນກັບຕົວຕົນທີ່ສະໜອງໃຫ້, ໃຫ້ໃສ່ຈາກ: ສ່ວນຫົວຢູ່ໃນເນື້ອໃນຂອງ
ຂໍ້ຄວາມກັບຜູ້ຂຽນຕົ້ນສະບັບ. ຖ້າບໍ່ມີການລະບຸຕົວຕົນ, ໃຫ້ໃຊ້ committer ident.
ໃຫ້ສັງເກດວ່າທາງເລືອກນີ້ມີປະໂຫຍດພຽງແຕ່ຖ້າທ່ານສົ່ງອີເມວແລະຕ້ອງການ
ເພື່ອກໍານົດຕົວທ່ານເອງເປັນຜູ້ສົ່ງ, ແຕ່ຮັກສາຜູ້ຂຽນຕົ້ນສະບັບ (ແລະ git am ຈະ
ເອົາສ່ວນຫົວໃນຮ່າງກາຍໄດ້ຖືກຕ້ອງ). ໃຫ້ສັງເກດວ່າ git send-email ຈັດການແລ້ວ
ການປ່ຽນແປງນີ້ສໍາລັບທ່ານ, ແລະທາງເລືອກນີ້ບໍ່ຄວນຖືກນໍາໃຊ້ຖ້າຫາກວ່າທ່ານກໍາລັງໃຫ້ອາຫານ
ຜົນໄດ້ຮັບທີ່ຈະ git send-email.
--add-header=
ເພີ່ມສ່ວນຫົວທີ່ຕົນເອງມັກໃສ່ສ່ວນຫົວຂອງອີເມວ. ນີ້ແມ່ນນອກເຫນືອໄປຈາກການຕັ້ງຄ່າໃດໆ
headers, ແລະອາດຈະຖືກນໍາໃຊ້ຫຼາຍຄັ້ງ. ຕົວຢ່າງ, --add-header="Organization:
git-foo". ແບບຟອມທີ່ຖືກປະຕິເສດ --no-add-header ຍົກເລີກ ທັງຫມົດ (ເຖິງ:, Cc:, ແລະ custom) ສ່ວນຫົວ
ເພີ່ມມາເຖິງຕອນນັ້ນຈາກ config ຫຼືເສັ້ນຄໍາສັ່ງ.
--[ບໍ່-] ຈົດໝາຍປົກຫຸ້ມ
ນອກຈາກການແກ້ໄຂ, ສ້າງເອກະສານຈົດຫມາຍສະບັບປົກຫຸ້ມຂອງສາຂາ
ລາຍລະອຽດ, shortlog ແລະ diffstat ໂດຍລວມ. ທ່ານສາມາດຕື່ມຂໍ້ມູນໃສ່ໃນລາຍລະອຽດໃນ
ໄຟລ໌ກ່ອນທີ່ຈະສົ່ງອອກ.
--ໝາຍເຫດ[= ]
ຕື່ມໃສ່ບັນທຶກ (ເບິ່ງ git-notes(1)) ສໍາລັບຄໍາຫມັ້ນສັນຍາຫຼັງຈາກເສັ້ນສາມ dash.
ກໍລະນີການນໍາໃຊ້ທີ່ຄາດວ່າຈະແມ່ນການຂຽນຄໍາອະທິບາຍສະຫນັບສະຫນູນສໍາລັບຄໍາຫມັ້ນສັນຍາທີ່
ບໍ່ໄດ້ຂຶ້ນກັບ commit log message ທີ່ເຫມາະສົມ, ແລະລວມມັນກັບ patch
ການຍື່ນສະເຫນີ. ໃນຂະນະທີ່ຄົນເຮົາພຽງແຕ່ສາມາດຂຽນຄໍາອະທິບາຍເຫຼົ່ານີ້ຫຼັງຈາກຮູບແບບ-patch ໄດ້ດໍາເນີນການ
ແຕ່ກ່ອນທີ່ຈະສົ່ງ, ຮັກສາພວກມັນເປັນບັນທຶກ Git ອະນຸຍາດໃຫ້ພວກເຂົາຮັກສາລະຫວ່າງ
ຮຸ່ນຂອງຊຸດ patch (ແຕ່ເບິ່ງການສົນທະນາຂອງ notes.rewrite
ຕົວເລືອກການຕັ້ງຄ່າໃນ git-notes(1) ການນໍາໃຊ້ຂະບວນການເຮັດວຽກນີ້).
--[ບໍ່]-ລາຍເຊັນ=
ເພີ່ມລາຍເຊັນໃສ່ແຕ່ລະຂໍ້ຄວາມທີ່ຜະລິດ. ຕໍ່ RFC 3676 ລາຍເຊັນແມ່ນແຍກອອກຈາກ
ຮ່າງກາຍໂດຍເສັ້ນທີ່ມີ '--' ຢູ່ເທິງມັນ. ຖ້າຕົວເລືອກລາຍເຊັນຖືກລະເວັ້ນລາຍເຊັນ
ຄ່າເລີ່ມຕົ້ນຂອງໝາຍເລກລຸ້ນ Git.
--signature-file=
ເຮັດວຽກຄືກັນກັບ --signature ຍົກເວັ້ນລາຍເຊັນຖືກອ່ານຈາກໄຟລ໌.
--suffix=.
ແທນທີ່ຈະໃຊ້ .patch ເປັນຄຳຕໍ່ທ້າຍສຳລັບຊື່ໄຟລ໌ທີ່ສ້າງຂຶ້ນ, ໃຫ້ໃຊ້ຄຳຕໍ່ທ້າຍທີ່ລະບຸ. ກ
ທາງເລືອກທົ່ວໄປແມ່ນ --suffix=.txt. ການປະໄວ້ອັນນີ້ຈະເປັນການລຶບ .patch ຕໍ່ທ້າຍອອກ.
ໃຫ້ສັງເກດວ່າລັກສະນະນໍາຫນ້າບໍ່ຈໍາເປັນຕ້ອງເປັນຈຸດ; ສໍາລັບຕົວຢ່າງ, ທ່ານສາມາດນໍາໃຊ້
--suffix=-patch ເພື່ອຮັບ 0001-description-of-my-change-patch.
-q, --ງຽບ
ຢ່າພິມຊື່ຂອງໄຟລ໌ທີ່ສ້າງຂຶ້ນເປັນຜົນຜະລິດມາດຕະຖານ.
--no-binary
ບໍ່ອອກເນື້ອໃນຂອງການປ່ຽນແປງໃນໄຟລ໌ຖານສອງ, ແທນທີ່ຈະສະແດງຫນັງສືແຈ້ງການເຫຼົ່ານັ້ນ
ປ່ຽນໄຟລ໌. ແຜ່ນທີ່ສ້າງຂຶ້ນໂດຍໃຊ້ຕົວເລືອກນີ້ບໍ່ສາມາດຖືກນຳໃຊ້ໄດ້ຢ່າງຖືກຕ້ອງ, ແຕ່
ພວກເຂົາເຈົ້າຍັງເປັນປະໂຫຍດສໍາລັບການທົບທວນຄືນລະຫັດ.
--zero-commit
ເອົາ hash ທັງໝົດເປັນສູນໃນແຕ່ລະ patch ຂອງ From header ແທນ hash ຂອງ commit.
-- ຮາກ
ປະຕິບັດການໂຕ້ຖຽງການແກ້ໄຂເປັນ , ເຖິງແມ່ນວ່າມັນເປັນພຽງແຕ່ຄໍາຫມັ້ນສັນຍາດຽວ
(ໂດຍປົກກະຕິຈະຖືກປະຕິບັດເປັນ ). ໃຫ້ສັງເກດວ່າຮາກຄໍາຫມັ້ນສັນຍາລວມຢູ່ໃນ
ໄລຍະທີ່ລະບຸໄວ້ຈະຖືກຈັດຮູບແບບເປັນຊຸດການສ້າງ, ບໍ່ຂຶ້ນກັບທຸງນີ້.
CONFIGURATION
ທ່ານສາມາດລະບຸເສັ້ນສ່ວນຫົວຂອງເມລເພີ່ມເຕີມທີ່ຈະເພີ່ມໃສ່ແຕ່ລະຂໍ້ຄວາມ, ຄ່າເລີ່ມຕົ້ນສໍາລັບການ
subject prefix ແລະ file suffix, number patches ໃນເວລາທີ່ outputting ຫຼາຍກ່ວາຫນຶ່ງ patch, ເພີ່ມ
"ເຖິງ" ຫຼື "Cc:" ສ່ວນຫົວ, ຕັ້ງຄ່າໄຟລ໌ແນບ, ແລະເຊັນອອກ patches ກັບການຕັ້ງຄ່າ
ຕົວແປ
[ຮູບແບບ]
headers = "ອົງການຈັດຕັ້ງ: git-foo\n"
subjectPrefix = ປ່ຽນ
suffix = .txt
numbered = ອັດຕະໂນມັດ
ກັບ =
cc =
ຄັດຕິດ [ = mime-boundary-string]
signOff = ຈິງ
coverletter = ອັດຕະໂນມັດ
ການສົນທະນາ
ແຜ່ນທີ່ຜະລິດໂດຍ ໄປ format-patch ແມ່ນຢູ່ໃນຮູບແບບກ່ອງຈົດຫມາຍ UNIX, ດ້ວຍ "magic" ຄົງທີ່.
time stamp ເພື່ອຊີ້ບອກວ່າໄຟລ໌ແມ່ນຜົນຜະລິດຈາກຮູບແບບ-patch ແທນທີ່ຈະເປັນທີ່ແທ້ຈິງ
ກ່ອງຈົດໝາຍ, ເຊັ່ນ:
From 8f72bad1baf19a53459661343e21d6491c3908d3 Mon Sep 17 00:00:00 2001
ຈາກ: Tony Lucktony.luck@intel.com>
ວັນທີ: Tue, 13 Jul 2010 11:42:54 -0700
Subject: [PATCH] =?UTF-8?q?[IA64]=20Put=20ia64=20config=20files=20on=20the=20?=
=?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20diet?=
MIME-Version: 1.0
ປະເພດເນື້ອຫາ: ຂໍ້ຄວາມ/ທຳມະດາ; charset=UTF-8
ການເຂົ້າລະຫັດເນື້ອຫາ, ການຖ່າຍໂອນ: 8bit
ໄຟລ໌ config arch/arm ໄດ້ຖືກຫຼຸດລົງໂດຍໃຊ້ python script
(See commit c2330e286f68f1c408b4aa6515ba49d57f05beae comment)
ເຮັດເຊັ່ນດຽວກັນສໍາລັບ ia64 ດັ່ງນັ້ນພວກເຮົາສາມາດມີ sleek & trim ເບິ່ງ
...
ໂດຍປົກກະຕິມັນຈະຖືກວາງໄວ້ໃນໂຟນເດີຮ່າງຂອງ MUA, ດັດແກ້ເພື່ອເພີ່ມຄໍາຄິດຄໍາເຫັນທີ່ທັນເວລາ
ບໍ່ຄວນເຂົ້າໄປໃນ changelog ຫຼັງຈາກສາມ dashes, ແລະຫຼັງຈາກນັ້ນສົ່ງເປັນຂໍ້ຄວາມທີ່ມີ
ຮ່າງກາຍ, ໃນຕົວຢ່າງຂອງພວກເຮົາ, ເລີ່ມຕົ້ນດ້ວຍ "arch/arm config files were...". ໃນຕອນທ້າຍທີ່ໄດ້ຮັບ,
ຜູ້ອ່ານສາມາດບັນທຶກ patches ທີ່ຫນ້າສົນໃຈໃນກ່ອງຈົດຫມາຍ UNIX ແລະນໍາໃຊ້ກັບ git-am(1).
ໃນເວລາທີ່ patch ເປັນສ່ວນຫນຶ່ງຂອງການສົນທະນາຢ່າງຕໍ່ເນື່ອງ, patch ທີ່ສ້າງຂຶ້ນໂດຍ ໄປ format-patch ສາມາດເຮັດໄດ້
ໄດ້ຮັບການປັບປຸງເພື່ອໃຊ້ປະໂຫຍດຈາກ ໄປ am --ມີດຕັດ ຄຸນນະສົມບັດ. ຫຼັງຈາກການຕອບສະຫນອງຂອງທ່ານ
ການສົນທະນາມາແມ່ນເສັ້ນທີ່ປະກອບດ້ວຍ "-->8 --" (ມີດຕັດແລະ perforation),
ປະຕິບັດຕາມໂດຍ patch ທີ່ມີຊ່ອງ header ທີ່ບໍ່ຈໍາເປັນເອົາອອກ:
...
> ດັ່ງນັ້ນພວກເຮົາຄວນເຮັດເຊັ່ນນັ້ນ.
ມີຄວາມຮູ້ສຶກສໍາລັບຂ້ອຍ. ເປັນແນວໃດກ່ຽວກັບ patch ນີ້?
-->8 --
ເລື່ອງ: [IA64] ເອົາໄຟລ໌ config ia64 ໃສ່ອາຫານ Uwe Kleine-König
ໄຟລ໌ config arch/arm ໄດ້ຖືກຫຼຸດລົງໂດຍໃຊ້ python script
...
ເມື່ອສົ່ງ patch ດ້ວຍວິທີນີ້, ສ່ວນຫຼາຍແມ່ນທ່ານກໍາລັງສົ່ງ patch ຂອງທ່ານເອງ, ດັ່ງນັ້ນ, ນອກຈາກນັ້ນ
ກັບເຄື່ອງຫມາຍ "From $SHA1 $magic_timestamp" ທ່ານຄວນລະເວັ້ນຈາກ: ແລະວັນທີ: ແຖວຈາກ.
ໄຟລ໌ patch. ຫົວຂໍ້ patch ມີແນວໂນ້ມທີ່ຈະແຕກຕ່າງຈາກຫົວຂໍ້ຂອງການສົນທະນາ
patch ແມ່ນຕອບສະຫນອງຕໍ່, ສະນັ້ນມັນເປັນໄປໄດ້ວ່າທ່ານຕ້ອງການທີ່ຈະຮັກສາຫົວຂໍ້:
ເສັ້ນ, ເຊັ່ນຕົວຢ່າງຂ້າງເທິງ.
ການກວດສອບ ສໍາລັບການ patch corruption
mailers ຫຼາຍ ຖ້າ ບໍ່ ໄດ້ ຕັ້ງ ຂຶ້ນ ຢ່າງ ຖືກ ຕ້ອງ ຈະ ເສຍ ຫາຍ whitespace. ນີ້ແມ່ນສອງປະເພດທົ່ວໄປຂອງ
ສໍ້ລາດບັງຫຼວງ:
· ເສັ້ນບໍລິບົດຫວ່າງເປົ່າທີ່ບໍ່ມີ ໃດ ຊ່ອງຫວ່າງ.
· ເສັ້ນບໍລິບົດທີ່ບໍ່ຫວ່າງເປົ່າທີ່ມີຊ່ອງຫວ່າງພິເສດໜຶ່ງອັນໃນຕອນເລີ່ມຕົ້ນ.
ວິທີຫນຶ່ງທີ່ຈະທົດສອບວ່າ MUA ຂອງທ່ານຖືກຕັ້ງຢ່າງຖືກຕ້ອງແມ່ນ:
· ສົ່ງ patch ໃຫ້ຕົວທ່ານເອງ, ແນ່ນອນວິທີທີ່ທ່ານຈະໄດ້, ຍົກເວັ້ນກັບ To: ແລະ Cc: ສາຍ
ທີ່ບໍ່ມີລາຍຊື່ ແລະທີ່ຢູ່ຜູ້ຮັກສາ.
·ບັນທຶກ patch ນັ້ນໃສ່ໄຟລ໌ໃນຮູບແບບກ່ອງຈົດໝາຍ UNIX. ໂທຫາມັນ a.patch, ເວົ້າ.
·ນໍາໃຊ້ມັນ:
$ git fetch master:test-apply
$ git checkout test-apply
$ git reset --hard
$ git am a.patch
ຖ້າມັນບໍ່ຖືກນໍາໃຊ້ຢ່າງຖືກຕ້ອງ, ມັນສາມາດມີເຫດຜົນຕ່າງໆ.
· ແຜ່ນແພຕົວມັນເອງບໍ່ໄດ້ໃຊ້ຢ່າງສະອາດ. ນັ້ນແມ່ນ ບໍ່ດີ ແຕ່ບໍ່ມີຫຼາຍທີ່ຈະເຮັດກັບ
MUA ຂອງທ່ານ. ທ່ານອາດຈະຕ້ອງການ rebase patch ກັບ git-rebase(1) ກ່ອນທີ່ຈະຟື້ນຟູມັນ
ໃນກໍລະນີນີ້.
· MUA ທໍາລາຍແຜ່ນຂອງທ່ານ; "am" ຈະຈົ່ມວ່າ patch ບໍ່ໄດ້ນໍາໃຊ້. ເບິ່ງ
ໃນ .git/rebase-apply/ subdirectory ແລະເບິ່ງສິ່ງທີ່ patch ໄຟລ໌ປະກອບມີແລະກວດເບິ່ງ
ຮູບແບບການສໍ້ລາດບັງຫຼວງທົ່ວໄປທີ່ໄດ້ກ່າວມາຂ້າງເທິງ.
·ໃນຂະນະທີ່ມັນ, ກວດເບິ່ງ ຂໍ້ມູນ ແລະ ຄໍາຫມັ້ນສັນຍາສຸດທ້າຍ ໄຟລ໌ເຊັ່ນດຽວກັນ. ຖ້າສິ່ງທີ່ຢູ່ໃນ ຄໍາຫມັ້ນສັນຍາສຸດທ້າຍ
ບໍ່ແມ່ນສິ່ງທີ່ທ່ານຢາກຈະເຫັນໃນຂໍ້ຄວາມບັນທຶກຄໍາຫມັ້ນສັນຍາ, ມັນເປັນໄປໄດ້ຫຼາຍ
ວ່າຜູ້ຮັບຈະສິ້ນສຸດດ້ວຍມືແກ້ໄຂຂໍ້ຄວາມບັນທຶກໃນເວລາທີ່ນໍາໃຊ້ patch ຂອງທ່ານ.
ສິ່ງຕ່າງໆເຊັ່ນວ່າ "ສະບາຍດີ, ນີ້ແມ່ນການອັບເດດທຳອິດຂອງຂ້ອຍ.\n" ໃນແພັກອີເມລຄວນມາຫຼັງຈາກ
ເສັ້ນສາມຂີດທີ່ສົ່ງສັນຍານການສິ້ນສຸດຂອງຂໍ້ຄວາມສັນຍາ.
MUA-ສະເພາະ ຄໍາແນະນໍາ
ນີ້ແມ່ນຄໍາແນະນໍາບາງຢ່າງກ່ຽວກັບວິທີການສົ່ງ patches inline ສົບຜົນສໍາເລັດໂດຍໃຊ້ mailers ຕ່າງໆ.
GMail
GMail ບໍ່ມີວິທີທີ່ຈະປິດການຫໍ່ເສັ້ນໃນການໂຕ້ຕອບຂອງເວັບໄຊຕ໌, ດັ່ງນັ້ນມັນຈະ
ຈັດການອີເມວໃດໆທີ່ທ່ານສົ່ງ. ຢ່າງໃດກໍຕາມທ່ານສາມາດນໍາໃຊ້ "git send-email" ແລະສົ່ງຂອງທ່ານ
ແກ້ໄຂຜ່ານເຊີບເວີ GMail SMTP, ຫຼືໃຊ້ລູກຄ້າອີເມລ໌ IMAP ເພື່ອເຊື່ອມຕໍ່ກັບ
google IMAP server ແລະສົ່ງຕໍ່ອີເມວຜ່ານທາງນັ້ນ.
ສໍາລັບຄໍາແນະນໍາກ່ຽວກັບການນໍາໃຊ້ ໄປ ສົ່ງອີເມວ ເພື່ອສົ່ງ patches ຂອງທ່ານຜ່ານເຄື່ອງແມ່ຂ່າຍ GMail SMTP, ເບິ່ງ
ພາກສ່ວນຕົວຢ່າງຂອງ git-send-email(1).
ສໍາລັບຄໍາແນະນໍາກ່ຽວກັບການຍື່ນສະເຫນີໂດຍໃຊ້ການໂຕ້ຕອບ IMAP, ເບິ່ງພາກຕົວຢ່າງຂອງ git-imap-
ສົ່ງ(1).
Thunderbird
ໂດຍຄ່າເລີ່ມຕົ້ນ, Thunderbird ທັງສອງຈະຫໍ່ອີເມວເຊັ່ນດຽວກັນກັບທຸງພວກເຂົາວ່າເປັນ format=flowed,
ທັງສອງອັນນີ້ຈະເຮັດໃຫ້ອີເມລ໌ຜົນໄດ້ຮັບບໍ່ສາມາດໃຊ້ງານໄດ້ໂດຍ Git.
ມີສາມວິທີທີ່ແຕກຕ່າງກັນ: ໃຊ້ add-on ເພື່ອປິດເສັ້ນ wraps, configure
Thunderbird ເພື່ອບໍ່ໃຫ້ແກ້ໄຂການແກ້ໄຂ, ຫຼືການນໍາໃຊ້ບັນນາທິການພາຍນອກເພື່ອຮັກສາ Thunderbird ຈາກ
mangling ເພີ້ມ.
ວິທີການ #1 (ສ່ວນເສີມ)
ຕິດຕັ້ງ Toggle Word Wrap add-on ທີ່ສາມາດໃຊ້ໄດ້ຈາກ
https://addons.mozilla.org/thunderbird/addon/toggle-word-wrap/ ມັນເພີ່ມລາຍການເມນູ
"ເປີດໃຊ້ Word Wrap" ໃນເມນູ "Options" ຂອງນັກຂຽນທີ່ທ່ານສາມາດຫມາຍຕິກອອກ. ໃນປັດຈຸບັນທ່ານສາມາດເຮັດໄດ້
ຂຽນຂໍ້ຄວາມຕາມທີ່ທ່ານເຮັດ (ຕັດ + ວາງ, ໄປ format-patch | ໄປ
imap-ສົ່ງ, ແລະອື່ນໆ), ແຕ່ວ່າທ່ານຕ້ອງໃສ່ຕົວແຍກເສັ້ນດ້ວຍຕົນເອງໃນຂໍ້ຄວາມໃດໆທີ່ທ່ານ
ປະເພດ
ວິທີການ #2 (ການຕັ້ງຄ່າ)
ສາມຂັ້ນຕອນ:
1. ຕັ້ງຄ່າອົງປະກອບຂອງເຄື່ອງແມ່ຂ່າຍເມລຂອງທ່ານເປັນຂໍ້ຄວາມທໍາມະດາ: ແກ້ໄຂ ... ບັນຊີ
ການຕັ້ງຄ່າ...ການປະກອບ ແລະທີ່ຢູ່, ຍົກເລີກການເລືອກ "ຂຽນຂໍ້ຄວາມໃນ HTML".
2. ຕັ້ງຄ່າປ່ອງຢ້ຽມອົງປະກອບທົ່ວໄປຂອງທ່ານບໍ່ໃຫ້ຫໍ່.
ໃນ Thunderbird 2: Edit..Preferences..Composition, wrap ຂໍ້ຄວາມທຳມະດາຢູ່ທີ່ 0.
ໃນ Thunderbird 3: Edit..Preferences..Advanced..Config Editor. ຊອກຫາ
"mail.wrap_long_lines". ສະຫຼັບມັນເພື່ອໃຫ້ແນ່ໃຈວ່າມັນຖືກຕັ້ງເປັນຜິດ. ນອກຈາກນີ້, ຄົ້ນຫາ
ສໍາລັບ "mailnews.wraplength" ແລະກໍານົດຄ່າເປັນ 0.
3. ປິດການນຳໃຊ້ format=flowed: Edit..Preferences..Advanced..Config Editor.
ຊອກຫາ "mailnews.send_plaintext_flowed". ສະຫຼັບມັນເພື່ອໃຫ້ແນ່ໃຈວ່າມັນຖືກຕັ້ງເປັນ
ບໍ່ຈິງ
ຫຼັງຈາກນັ້ນແມ່ນເຮັດໄດ້, ທ່ານຄວນຈະສາມາດຂຽນອີເມລ໌ຕາມທີ່ທ່ານບໍ່ດັ່ງນັ້ນຈະ (ຕັດ +
ວາງ, ໄປ format-patch | ໄປ imap-ສົ່ງ, ແລະອື່ນໆ), ແລະ patches ຈະບໍ່ຖືກ mangled.
ວິທີການ #3 (ພາຍນອກ ບັນນາທິການ)
ການຂະຫຍາຍ Thunderbird ຕໍ່ໄປນີ້ແມ່ນຈໍາເປັນ: AboutConfig ຈາກ
http://aboutconfig.mozdev.org/ ແລະບັນນາທິການພາຍນອກຈາກ
http://globs.org/articles.php?lng=en&pg=8
1. ກະກຽມ patch ເປັນໄຟລ໌ຂໍ້ຄວາມໂດຍໃຊ້ວິທີການເລືອກຂອງທ່ານ.
2. ກ່ອນທີ່ຈະເປີດປ່ອງຢ້ຽມຂຽນ, ໃຊ້ Edit → ການຕັ້ງຄ່າບັນຊີ ເພື່ອຍົກເລີກການເລືອກ "ຂຽນ
ຂໍ້ຄວາມໃນຮູບແບບ HTML" ການຕັ້ງຄ່າໃນ "ອົງປະກອບແລະທີ່ຢູ່" ແຜງຂອງ
ບັນຊີທີ່ຈະນໍາໃຊ້ເພື່ອສົ່ງ patch ໄດ້.
3. ຢູ່ໃນປ່ອງຢ້ຽມ Thunderbird ຕົ້ນຕໍ, ກ່ອນທີ່ຈະ ທ່ານເປີດປ່ອງຢ້ຽມຂຽນສໍາລັບ patch,
ໃຊ້ Tools → about:config ເພື່ອຕັ້ງຄ່າຕໍ່ໄປນີ້ເປັນຄ່າທີ່ລະບຸໄວ້:
mailnews.send_plaintext_flowed => ບໍ່ຖືກຕ້ອງ
mailnews.wraplength => 0
4. ເປີດປ່ອງຢ້ຽມຂຽນ ແລະຄລິກໄອຄອນບັນນາທິການພາຍນອກ.
5. ໃນປ່ອງຢ້ຽມບັນນາທິການພາຍນອກ, ອ່ານໃນໄຟລ໌ patch ແລະອອກຈາກບັນນາທິການ
ຕາມປົກກະຕິ.
ຫມາຍເຫດຂ້າງຄຽງ: ມັນອາດຈະເປັນໄປໄດ້ທີ່ຈະເຮັດຂັ້ນຕອນທີ 2 ດ້ວຍ about:config ແລະຕໍ່ໄປນີ້
ການຕັ້ງຄ່າແຕ່ບໍ່ມີໃຜພະຍາຍາມເທື່ອ.
mail.html_compose => ບໍ່ຖືກຕ້ອງ
mail.identity.default.compose_html => ບໍ່ຖືກຕ້ອງ
mail.identity.id?.compose_html => ບໍ່ຖືກຕ້ອງ
ມີ script ໃນ contrib/thunderbird-patch-inline ທີ່ສາມາດຊ່ວຍທ່ານປະກອບ
ແກ້ໄຂກັບ Thunderbird ໃນວິທີທີ່ງ່າຍ. ເພື່ອໃຊ້ມັນ, ເຮັດຕາມຂັ້ນຕອນຂ້າງເທິງແລະຫຼັງຈາກນັ້ນນໍາໃຊ້
script ເປັນບັນນາທິການພາຍນອກ.
KMail
ອັນນີ້ຄວນຊ່ວຍໃຫ້ທ່ານສົ່ງ patches ໃນແຖວໂດຍໃຊ້ KMail.
1. ກະກຽມ patch ເປັນໄຟລ໌ຂໍ້ຄວາມ.
2. ໃຫ້ຄລິກໃສ່ New Mail.
3. ໄປພາຍໃຕ້ "ທາງເລືອກ" ໃນປ່ອງຢ້ຽມ Composer ແລະໃຫ້ແນ່ໃຈວ່າ "Word wrap" ບໍ່ໄດ້ກໍານົດ.
4. ໃຊ້ Message → Insert file... and insert the patch.
5. ກັບຄືນໄປບ່ອນໃນປ່ອງຢ້ຽມຂຽນ: ເພີ່ມຂໍ້ຄວາມອື່ນໆທີ່ທ່ານຕ້ອງການກັບຂໍ້ຄວາມ, ເຮັດສໍາເລັດ
ທີ່ຢູ່ ແລະສາຂາວິຊາ, ແລະກົດສົ່ງ.
ຕົວຢ່າງ
·ສະກັດຄໍາຫມັ້ນສັນຍາລະຫວ່າງການແກ້ໄຂ R1 ແລະ R2, ແລະນໍາໃຊ້ພວກມັນຢູ່ເທິງສຸດຂອງປະຈຸບັນ
ສາຂາທີ່ໃຊ້ ໄປ am ເພື່ອເລືອກເອົາເຂົາເຈົ້າ cherry:
$ git format-patch -k --stdout R1..R2 | git am -3 -k
· ສະກັດບັນດາສັນຍາທີ່ຢູ່ໃນສາຂາປະຈຸບັນ ແຕ່ບໍ່ແມ່ນຢູ່ໃນສາຂາຕົ້ນກຳເນີດ:
$ git format-patch ຕົ້ນກໍາເນີດ
ສໍາລັບແຕ່ລະຄໍາຫມັ້ນສັນຍາ, ໄຟລ໌ແຍກຕ່າງຫາກແມ່ນຖືກສ້າງຂຶ້ນໃນໄດເລກະທໍລີປະຈຸບັນ.
·ສະກັດຄໍາຫມັ້ນສັນຍາທັງຫມົດທີ່ນໍາໄປສູ່ການ ຕົ້ນກໍາເນີດ ນັບຕັ້ງແຕ່ການເລີ່ມຕົ້ນຂອງໂຄງການ:
$ git format-patch --root ຕົ້ນກໍາເນີດ
· ເຊັ່ນດຽວກັນກັບທີ່ຜ່ານມາ:
$ git format-patch -M -B ຕົ້ນກໍາເນີດ
ນອກຈາກນັ້ນ, ມັນກວດພົບແລະຈັດການການປ່ຽນຊື່ແລະຂຽນຄືນໃຫມ່ຢ່າງສະຫຼາດ
ຜະລິດ patch ການປ່ຽນຊື່. ການປ່ຽນຊື່ patch ຫຼຸດຜ່ອນປະລິມານຂອງຂໍ້ຄວາມອອກ, ແລະ
ໂດຍທົ່ວໄປແລ້ວເຮັດໃຫ້ມັນງ່າຍຕໍ່ການທົບທວນ. ໃຫ້ສັງເກດວ່າໂຄງການ "patch" ທີ່ບໍ່ແມ່ນ Git ຈະບໍ່
ເຂົ້າໃຈການປ່ຽນຊື່ patches, ສະນັ້ນໃຊ້ມັນພຽງແຕ່ເມື່ອທ່ານຮູ້ວ່າຜູ້ຮັບໃຊ້ Git to
ສະຫມັກຂໍເອົາ patch ຂອງທ່ານ.
· ສະກັດສາມຄໍາຫມັ້ນສັນຍາສູງສຸດຈາກສາຂາປະຈຸບັນແລະຈັດຮູບແບບໃຫ້ເຂົາເຈົ້າເປັນ e-mailable
ເພີ້ມ:
$ git format-patch -3
ໃຊ້ git-format-patch ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net