ນີ້ແມ່ນຄໍາສັ່ງ git-clone-subset ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
git-clone-subset - clones ຊຸດຍ່ອຍຂອງ git repository
ສະຫຼຸບສັງລວມ
git-clone-subset [ທາງເລືອກໃນການ] repository ຈຸດຫມາຍປາຍທາງ -dir ຮູບແບບ
ລາຍລະອຽດ
Clones ກ repository into a ຈຸດຫມາຍປາຍທາງ -dir ແລະແລ່ນສຸດ clone ໄດ້
ໄປ ສາຂາການກັ່ນຕອງ --prune-ເປົ່າ --tree-filter 'git rm ... ' -- --ທັງໝົດ
ເພື່ອຕັດອອກຈາກປະຫວັດໄຟລ໌ທັງໝົດຍົກເວັ້ນໄຟລ໌ທີ່ກົງກັນ ຮູບແບບ, ສ້າງປະສິດທິຜົນເປັນ
clone ກັບຊຸດຍ່ອຍຂອງໄຟລ໌ (ແລະປະຫວັດສາດ) ຂອງ repository ຕົ້ນສະບັບ.
ເປັນປະໂຫຍດສໍາລັບການສ້າງ repository ໃຫມ່ອອກຈາກຊຸດຂອງໄຟລ໌ຈາກ repository ອື່ນ,
ການເຄື່ອນຍ້າຍ (ພຽງແຕ່) ປະຫວັດສາດທີ່ກ່ຽວຂ້ອງຂອງເຂົາເຈົ້າ. ຄ້າຍຄືກັນກັບສິ່ງທີ່
ໄປ ສາຂາການກັ່ນຕອງ --subdirectory-filter
ບໍ່, ແຕ່ສໍາລັບຮູບແບບໄຟລ໌ແທນທີ່ຈະເປັນພຽງແຕ່ໄດເລກະທໍລີດຽວ.
OPTIONS
-h, - ຊ່ວຍ
ສະແດງຂໍ້ມູນການນໍາໃຊ້.
repository
URL ຫຼືເສັ້ນທາງທ້ອງຖິ່ນໄປຫາ git repository ທີ່ຈະ cloned.
ຈຸດຫມາຍປາຍທາງ -dir
ໄດເລກະທໍລີເພື່ອສ້າງໂຄນ. ກົດລະບຽບດຽວກັນສໍາລັບ git-clone ຖືກນໍາໃຊ້: ມັນຈະເປັນ
ສ້າງຂຶ້ນຖ້າມັນບໍ່ມີຢູ່ ແລະມັນຈະຕ້ອງຫວ່າງເປົ່າຖ້າບໍ່ດັ່ງນັ້ນ. ແຕ່, ບໍ່ເຫມືອນກັບ git-
clone, ການໂຕ້ຖຽງນີ້ບໍ່ແມ່ນທາງເລືອກ: git-clone ໃຊ້ກົດລະບຽບຈໍານວນຫນຶ່ງເພື່ອກໍານົດ
"Humane" ຊື່ dir ຂອງ repo cloned, ແລະ git-clone-subset ຈະບໍ່ມີຄວາມສ່ຽງ parse
ຜົນຜະລິດຂອງມັນ, ປ່ອຍໃຫ້ຜູ້ດຽວຄາດຄະເນຊື່ທີ່ເລືອກ.
ຮູບແບບ ຮູບແບບ Glob ເພື່ອໃຫ້ກົງກັບໄຟລ໌ທີ່ຕ້ອງການ / dirs. ມັນຈະຖືກປະເມີນໃນທີ່ສຸດໂດຍ a
ໂທຫາ bash, ບໍ່ແມ່ນ git ຫຼື sh, ໂດຍໃຊ້ expanded glob '!( ) ກົດລະບຽບ. ອ້າງເຖິງມັນຫຼື
ຫນີມັນຢູ່ໃນເສັ້ນຄໍາສັ່ງ, ດັ່ງນັ້ນມັນບໍ່ໄດ້ຮັບການປະເມີນກ່ອນໄວອັນຄວນໂດຍຂອງເຈົ້າ
shell ໃນປັດຈຸບັນ. ອະນຸຍາດໃຫ້ມີຮູບແບບດຽວເທົ່ານັ້ນ: ຖ້າຕ້ອງການຫຼາຍ, ໃຫ້ໃຊ້
extglob ຂອງ "|" syntax. Globs ຈະຖືກປະເມີນດ້ວຍຊຸດ shopt dotglob ຂອງ bash, ດັ່ງນັ້ນ
ລະວັງ. ຮູບແບບຕ່າງໆບໍ່ຄວນມີຍະຫວ່າງ ຫຼືຕົວອັກສອນພິເສດເຊັ່ນ " '$ ( ) { } `,
ບໍ່ແມ່ນແຕ່ຍົກມາຫຼືຫນີ, ເນື່ອງຈາກວ່າອາດຈະ interphere ກັບ !() syntax ຫຼັງຈາກ
ການຂະຫຍາຍຕົວຮູບແບບ.
ຕົວຢ່າງຮູບແບບ:
"*.png"
"*.png|*icon*"
"*.h|src/|lib"
ຂອບເຂດ ຈຳ ກັດ
ການປ່ຽນຊື່ບໍ່ໄດ້ປະຕິບັດຕາມ. ເປັນການແກ້ໄຂບັນຫາ, ບອກປະຫວັດການປ່ຽນຊື່ດ້ວຍ 'git log --follow
--name-status --format='%H' -- ໄຟລ໌ | grep "^[RAD]"' ແລະລວມເອົາຫຼາຍຊື່ທັງໝົດຂອງ a
ໄຟລ໌ໃນຮູບແບບ, ເຊັ່ນດຽວກັບ "ຊື່ປະຈຸບັນ|ຊື່ເກົ່າ|ຊື່ຕົ້ນ". ເປັນຜົນກະທົບຂ້າງຄຽງ, ຖ້າ ກ
ໄຟລ໌ທີ່ແຕກຕ່າງກັນໄດ້ຮັບການສະຖານທີ່ຂອງຊື່ເກົ່າ, ມັນຈະໄດ້ຮັບການຮັກສາໄວ້ເກີນໄປ, ແລະບໍ່ມີ
ວິທີການປະມານນີ້ໂດຍໃຊ້ເຄື່ອງມືນີ້.
ບໍ່ມີວິທີ (ງ່າຍ) ທີ່ຈະຮັກສາບາງໄຟລ໌ໃນ dir: ການນໍາໃຊ້ 'dir/foo*' ເປັນຮູບແບບຈະບໍ່.
ເຮັດວຽກ. ດັ່ງນັ້ນຮັກສາ dir ທັງຫມົດແລະເອົາໄຟລ໌ອອກຫຼັງຈາກນັ້ນ, ການນໍາໃຊ້ git filter-branch ແລະ a
(ຂ້ອນຂ້າງສັບສົນ) ການປະສົມປະສານຂອງ cloning, add remote, rebases, ແລະອື່ນໆ.
ການຈັບຄູ່ຮູບແບບແມ່ນຂ້ອນຂ້າງຈໍາກັດ, ແລະຈໍານວນຫຼາຍຂອງການຫລົບຫນີແລະວົງຢືມຂອງ bash ບໍ່ໄດ້ເຮັດວຽກ
ຢ່າງຖືກຕ້ອງເມື່ອຮູບແບບຖືກຂະຫຍາຍພາຍໃນ !().
ໃຊ້ git-clone-subset ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net