ນີ້ແມ່ນຄໍາສັ່ງ git-cherry ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
git-cherry - ຊອກຫາຄໍາຫມັ້ນສັນຍາທີ່ຍັງຖືກນໍາໃຊ້ກັບຕົ້ນນ້ໍາ
ສະຫຼຸບສັງລວມ
ໄປ cherry [-v] [ [ [ ]]]
ລາຍລະອຽດ
ກໍານົດວ່າມີຄໍາຫມັ້ນສັນຍາຢູ່ໃນ .. ເທົ່າກັບຜູ້ທີ່ຢູ່ໃນ
ຊ່ວງ .. .
ການທົດສອບຄວາມສົມດຸນແມ່ນອີງໃສ່ຄວາມແຕກຕ່າງ, ຫຼັງຈາກຖອນຊ່ອງຫວ່າງແລະຕົວເລກເສັ້ນ.
ດັ່ງນັ້ນ git-cherry ກວດພົບເມື່ອຄໍາຫມັ້ນສັນຍາໄດ້ຖືກ "ຄັດລອກ" ໂດຍວິທີການ git-cherry-
ເລືອກເອົາ(1) git-am(1) ຫຼື git-rebase(1).
ຜົນໄດ້ຮັບ SHA1 ຂອງທຸກໆຄໍາຫມັ້ນສັນຍາໃນ .. , prefixed with - for commits that have
ທຽບເທົ່າໃນ , ແລະ + ສໍາລັບຄໍາຫມັ້ນສັນຍາທີ່ເຮັດບໍ່ໄດ້.
OPTIONS
-v
ສະແດງຫົວຂໍ້ commit ຕໍ່ກັບ SHA1s.
ສາຂາຕົ້ນນ້ໍາເພື່ອຊອກຫາຄໍາຫມັ້ນສັນຍາທຽບເທົ່າ. ຄ່າເລີ່ມຕົ້ນຂອງສາຂາຂອງ
ຫົວ.
ສາຂາທີ່ເຮັດວຽກ; ເລີ່ມຕົ້ນເປັນ HEAD.
ບໍ່ໄດ້ລາຍງານ commits ສູງເຖິງ (ແລະລວມ) ຂອບເຂດຈໍາກັດ.
ຕົວຢ່າງ
Patch workflows
git-cherry ຖືກນໍາໃຊ້ເລື້ອຍໆໃນຂະບວນການເຮັດວຽກໂດຍອີງໃສ່ patch (ເບິ່ງ gitworkflows(7)) ການກໍານົດ
ຖ້າຫາກວ່າຊຸດຂອງການສ້ອມແປງໄດ້ຖືກນໍາໃຊ້ໂດຍການບໍາລຸງຮັກສາຕົ້ນສະບັບ. ໃນຂະບວນການເຮັດວຽກດັ່ງກ່າວທ່ານ
ອາດຈະສ້າງແລະສົ່ງສາຂາຫົວຂໍ້ເຊັ່ນນີ້:
$ git checkout -b ຫົວຂໍ້ຕົ້ນທາງ / ແມ່ບົດ
# ເຮັດວຽກແລະສ້າງຄໍາຫມັ້ນສັນຍາບາງຢ່າງ
$ git format-patch origin/master
$ git send-email ... 00*
ຕໍ່ມາ, ທ່ານສາມາດເບິ່ງວ່າການປ່ຽນແປງຂອງທ່ານໄດ້ຖືກນໍາໃຊ້ໂດຍການເວົ້າ (ຍັງຢູ່ໃນຫົວຂໍ້):
$ git fetch # ປັບປຸງແນວຄວາມຄິດຂອງຕົ້ນກໍາເນີດ / ຕົ້ນສະບັບຂອງທ່ານ
$ git cherry -v
ຄອນກີດ ຍົກຕົວຢ່າງ
ໃນສະຖານະການທີ່ຫົວຂໍ້ປະກອບດ້ວຍສາມຄໍາຫມັ້ນສັນຍາ, ແລະຜູ້ຮັກສາໄດ້ນໍາໃຊ້ສອງຂອງ
ພວກເຂົາ, ສະຖານະການອາດຈະເບິ່ງຄືວ່າ:
$ git log --graph --oneline --decorate --boundary origin/master...topic
* 7654321 (ຕົ້ນກໍາເນີດ / ຕົ້ນສະບັບ) ຄໍາຫມັ້ນສັນຍາຂອງປາຍນ້ໍາ
[... snip ບາງຄໍາຫມັ້ນສັນຍາອື່ນໆ ...]
* cccc111 cherry-pick ຂອງ C
* aaaa111 cherry-pick ຂອງ A
[... snip ຫຼາຍຫຼາຍທີ່ເກີດຂຶ້ນ ...]
| *cccc000 (ຫົວຂໍ້) ຄໍາຫມັ້ນສັນຍາ C
| * bbbb000 ຄໍາຫມັ້ນສັນຍາ B
| * aaaa000 ຄໍາຫມັ້ນສັນຍາ A
|/
o 1234567 ຈຸດສາຂາ
ໃນກໍລະນີດັ່ງກ່າວ, git-cherry ສະແດງໃຫ້ເຫັນການສະຫຼຸບສັງລວມຂອງສິ່ງທີ່ຍັງບໍ່ທັນໄດ້ຖືກນໍາໃຊ້:
$ git ຕົ້ນກໍາເນີດ cherry / ຫົວຂໍ້ຕົ້ນສະບັບ
- cccc000... ຫມັ້ນສັນຍາ C
+bbbb000... ສັນຍາ B
- aaaa000... ຄໍາຫມັ້ນສັນຍາ A
ທີ່ນີ້, ພວກເຮົາເຫັນວ່າຄໍາຫມັ້ນສັນຍາ A ແລະ C (ຫມາຍດ້ວຍ -) ສາມາດຫຼຸດລົງຈາກຫົວຂໍ້ຂອງທ່ານ
ສາຂາໃນເວລາທີ່ທ່ານ rebase ມັນຢູ່ເທິງຕົ້ນກໍາເນີດ / ຕົ້ນສະບັບ, ໃນຂະນະທີ່ຄໍາຫມັ້ນສັນຍາ B (ຫມາຍດ້ວຍ +)
ຍັງຕ້ອງໄດ້ຮັບການເກັບຮັກສາໄວ້ເພື່ອໃຫ້ມັນຖືກສົ່ງໄປເພື່ອນໍາໃຊ້ກັບຕົ້ນກໍາເນີດ / ແມ່ບົດ.
ການນໍາໃຊ້ a ກໍານົດຂອບເຂດ
ທາງເລືອກ ເປັນປະໂຫຍດໃນກໍລະນີທີ່ຫົວຂໍ້ຂອງທ່ານແມ່ນອີງໃສ່ການເຮັດວຽກອື່ນໆທີ່ເປັນ
ບໍ່ໄດ້ຢູ່ໃນຕົ້ນນ້ໍາ. ການຂະຫຍາຍຕົວຢ່າງທີ່ຜ່ານມາ, ນີ້ອາດຈະເບິ່ງຄືວ່າ:
$ git log --graph --oneline --decorate --boundary origin/master...topic
* 7654321 (ຕົ້ນກໍາເນີດ / ຕົ້ນສະບັບ) ຄໍາຫມັ້ນສັນຍາຂອງປາຍນ້ໍາ
[... snip ບາງຄໍາຫມັ້ນສັນຍາອື່ນໆ ...]
* cccc111 cherry-pick ຂອງ C
* aaaa111 cherry-pick ຂອງ A
[... snip ຫຼາຍຫຼາຍທີ່ເກີດຂຶ້ນ ...]
| *cccc000 (ຫົວຂໍ້) ຄໍາຫມັ້ນສັນຍາ C
| * bbbb000 ຄໍາຫມັ້ນສັນຍາ B
| * aaaa000 ຄໍາຫມັ້ນສັນຍາ A
| * 0000fff (ພື້ນຖານ) ສິ່ງທີ່ບໍ່ໄດ້ເຜີຍແຜ່ F
[... snip ...]
| * 0000aaa ສິ່ງທີ່ບໍ່ໄດ້ເຜີຍແຜ່ A
|/
o 1234567 merge-base ລະຫວ່າງຕົ້ນນ້ໍາແລະຫົວຂໍ້
ໂດຍການລະບຸພື້ນຖານເປັນຂອບເຂດຈໍາກັດ, ທ່ານສາມາດຫຼີກເວັ້ນການເຮັດລາຍການລະຫວ່າງພື້ນຖານແລະຫົວຂໍ້:
$ git cherry ຕົ້ນກໍາເນີດ / ພື້ນຖານຫົວຂໍ້ຕົ້ນສະບັບ
- cccc000... ຫມັ້ນສັນຍາ C
+bbbb000... ສັນຍາ B
- aaaa000... ຄໍາຫມັ້ນສັນຍາ A
ໃຊ້ git-cherry ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net