ນີ້ແມ່ນຄໍາສັ່ງ git-cat-file ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
git-cat-file - ສະຫນອງເນື້ອຫາຫຼືຂໍ້ມູນປະເພດແລະຂະຫນາດສໍາລັບວັດຖຸ repository
ສະຫຼຸບສັງລວມ
ໄປ cat-file (-t [--allow-unknown-type]| -s [--allow-unknown-type]| -e | -p | | --textconv )
ໄປ cat-file (--batch | --batch-check) [--follow-symlinks]
ລາຍລະອຽດ
ໃນຮູບແບບທໍາອິດຂອງມັນ, ຄໍາສັ່ງສະຫນອງເນື້ອຫາຫຼືປະເພດຂອງວັດຖຸໃນ
ຄັງເກັບມ້ຽນ. ປະເພດແມ່ນຕ້ອງການເວັ້ນເສຍແຕ່ -t or -p ຖືກນໍາໃຊ້ເພື່ອຊອກຫາປະເພດວັດຖຸ, ຫຼື -s is
ໃຊ້ເພື່ອຊອກຫາຂະຫນາດວັດຖຸ, ຫຼື --textconv ຖືກນໍາໃຊ້ (ຊຶ່ງຫມາຍຄວາມວ່າປະເພດ "blob").
ໃນຮູບແບບທີສອງ, ບັນຊີລາຍຊື່ຂອງວັດຖຸ (ແຍກໂດຍ linefeeds) ແມ່ນສະຫນອງໃຫ້ຢູ່ໃນ stdin, ແລະ
SHA-1, ປະເພດ, ແລະຂະຫນາດຂອງແຕ່ລະວັດຖຸແມ່ນພິມຢູ່ໃນ stdout.
OPTIONS
ຊື່ຂອງວັດຖຸທີ່ຈະສະແດງ. ສໍາລັບບັນຊີລາຍຊື່ຄົບຖ້ວນສົມບູນຂອງວິທີການສະກົດວັດຖຸ
ຊື່, ເບິ່ງສ່ວນ "ການທົບທວນສະເພາະ" ໃນ ການວິໄສທັດ(7).
-t
ແທນທີ່ຈະເປັນເນື້ອຫາ, ສະແດງປະເພດວັດຖຸທີ່ກໍານົດໂດຍ .
-s
ແທນທີ່ຈະເປັນເນື້ອໃນ, ສະແດງຂະຫນາດວັດຖຸທີ່ກໍານົດໂດຍ .
-e
ສະກັດກັ້ນຜົນຜະລິດທັງຫມົດ; ແທນທີ່ຈະອອກດ້ວຍສະຖານະສູນ if ມີຢູ່ແລະຖືກຕ້ອງ
ວັດຖຸ
-p
Pretty-ພິມເນື້ອໃນຂອງ ອີງຕາມປະເພດຂອງຕົນ.
ໂດຍປົກກະຕິນີ້ກົງກັບປະເພດທີ່ແທ້ຈິງຂອງ ແຕ່ຂໍໃຫ້ມີປະເພດທີ່ສາມາດ
trivally ຈະ dereferenced ຈາກທີ່ໃຫ້ ຍັງໄດ້ຮັບອະນຸຍາດ. ຕົວຢ່າງແມ່ນເພື່ອ
ຂໍໃຫ້ "ຕົ້ນໄມ້" ກັບ ເປັນວັດຖຸຄໍາຫມັ້ນສັນຍາທີ່ປະກອບດ້ວຍມັນ, ຫຼືເພື່ອຮ້ອງຂໍໃຫ້ມີ
"blob" ກັບ ເປັນ tag object ທີ່ຊີ້ໃຫ້ເຫັນມັນ.
--textconv
ສະແດງເນື້ອຫາເປັນຕົວກອງ textconv. ໃນກໍລະນີນີ້, ມີຂອງ
ແບບຟອມ : , ຫຼື: ເພື່ອນໍາໃຊ້ການກັ່ນຕອງກັບເນື້ອຫາ
ບັນທຶກຢູ່ໃນດັດຊະນີທີ່ .
--batch, --batch=
ພິມຂໍ້ມູນວັດຖຸ ແລະເນື້ອໃນສໍາລັບແຕ່ລະວັດຖຸທີ່ສະໜອງໃຫ້ໃນ stdin. ອາດຈະບໍ່
ບວກກັບທາງເລືອກອື່ນຫຼືການໂຕ້ຖຽງ. ເບິ່ງພາກ BATCH OUTPUT ຂ້າງລຸ່ມນີ້ສໍາລັບ
ລາຍລະອຽດ.
--batch-check, --batch-check=
ພິມຂໍ້ມູນວັດຖຸສໍາລັບແຕ່ລະວັດຖຸສະຫນອງໃຫ້ຢູ່ໃນ stdin. ອາດຈະບໍ່ຖືກລວມເຂົ້າກັບ
ທາງເລືອກອື່ນ ຫຼືການໂຕ້ຖຽງ. ເບິ່ງພາກສ່ວນ BATCH OUTPUT ຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ.
--batch-objects
ແທນທີ່ຈະອ່ານບັນຊີລາຍຊື່ຂອງວັດຖຸໃນ stdin, ດໍາເນີນການ batch ທີ່ຮ້ອງຂໍ
ຢູ່ໃນວັດຖຸທັງໝົດໃນບ່ອນເກັບມ້ຽນ ແລະບ່ອນເກັບວັດຖຸສະລັບກັນ (ບໍ່ພຽງແຕ່ສາມາດເຂົ້າເຖິງໄດ້
ວັດຖຸ). ຕ້ອງການ --batch ຫຼື --batch-check ຖືກລະບຸ. ໃຫ້ສັງເກດວ່າວັດຖຸແມ່ນ
ໄດ້ໄປຢ້ຽມຢາມຢູ່ໃນຄໍາສັ່ງຈັດຮຽງຕາມ hashes ຂອງເຂົາເຈົ້າ.
--buffer
ໂດຍປົກກະຕິຜົນຜະລິດ batch ແມ່ນ flushed ຫຼັງຈາກແຕ່ລະວັດຖຸແມ່ນຜົນຜະລິດ, ດັ່ງນັ້ນຂະບວນການສາມາດ
ອ່ານແລະຂຽນແບບໂຕ້ຕອບຈາກ cat-file. ດ້ວຍຕົວເລືອກນີ້, ຜົນຜະລິດໃຊ້ປົກກະຕິ
stdio buffering; ນີ້ແມ່ນປະສິດທິພາບຫຼາຍເມື່ອເອີ້ນ --batch-check ໃນຂະຫນາດໃຫຍ່
ຈໍານວນຂອງວັດຖຸ.
--allow-unknown-type
ອະນຸຍາດໃຫ້ -s ຫຼື -t ສອບຖາມວັດຖຸທີ່ແຕກຫັກ/ເສຍຫາຍຂອງປະເພດທີ່ບໍ່ຮູ້ຈັກ.
--follow-symlinks
ດ້ວຍ --batch ຫຼື --batch-check, ປະຕິບັດຕາມ symlinks ພາຍໃນ repository ໃນເວລາທີ່ຮ້ອງຂໍ
ວັດຖຸທີ່ມີການສະແດງອອກ SHA-1 ຂະຫຍາຍຂອງຮູບແບບ tree-ish:path-in-tree. ແທນທີ່
ການສະຫນອງຜົນໄດ້ຮັບກ່ຽວກັບການເຊື່ອມຕໍ່ຕົວມັນເອງ, ສະຫນອງຜົນໄດ້ຮັບກ່ຽວກັບຈຸດປະສົງທີ່ເຊື່ອມຕໍ່. ຖ້າ
ຈຸດ symlink ຢູ່ນອກ tree-ish (ເຊັ່ນ: ການເຊື່ອມຕໍ່ກັບ /foo ຫຼືການເຊື່ອມຕໍ່ລະດັບຮາກ
../foo), ສ່ວນຂອງການເຊື່ອມຕໍ່ທີ່ຢູ່ນອກຕົ້ນໄມ້ຈະຖືກພິມອອກ.
ຕົວເລືອກນີ້ບໍ່ໄດ້ (ປະຈຸບັນ) ເຮັດວຽກຢ່າງຖືກຕ້ອງເມື່ອວັດຖຸຢູ່ໃນດັດຊະນີ
ລະບຸໄວ້ (ເຊັ່ນ: link ແທນ HEAD:link) ແທນທີ່ຈະເປັນໜຶ່ງໃນຕົ້ນໄມ້.
ທາງເລືອກນີ້ບໍ່ສາມາດ (ໃນປັດຈຸບັນ) ຖືກນໍາໃຊ້ເວັ້ນເສຍແຕ່ --batch ຫຼື --batch-check ຖືກນໍາໃຊ້.
ສໍາລັບຕົວຢ່າງ, ພິຈາລະນາ git repository ປະກອບມີ:
f: ໄຟລ໌ທີ່ມີ "ສະບາຍດີ\n"
link: a symlink to f
dir/link: a symlink to ../f
plink: ເປັນ symlink ກັບ ../f
alink: ເປັນ symlink ກັບ / etc / passwd
ສໍາລັບໄຟລ໌ປົກກະຕິ f, echo HEAD:f | git cat-file --batch ຈະພິມ
ce013625030ba8dba906f756967f9e9ca394464a blob 6
ແລະ echo HEAD:link | git cat-file --batch --follow-symlinks ຈະພິມຄືກັນ
ສິ່ງທີ່, ຄືກັບ HEAD:dir/link, ຍ້ອນວ່າພວກເຂົາທັງສອງຊີ້ໃຫ້ເຫັນ HEAD: f.
ໂດຍບໍ່ມີ --follow-symlinks, ເຫຼົ່ານີ້ຈະພິມຂໍ້ມູນກ່ຽວກັບ symlink ຕົວຂອງມັນເອງ. ໃນ
case of HEAD:link, ເຈົ້າຈະເຫັນ
4d1ae35ba2c8ec712fa2a379db44ad639ca277bd blob 1
ທັງ plink ແລະຈຸດເຊື່ອມຕໍ່ຢູ່ນອກຕົ້ນໄມ້, ດັ່ງນັ້ນພວກມັນຈະພິມຕາມລໍາດັບ:
ລິ້ງຄ໌ 4
../f
ລິ້ງຄ໌ 11
/ etc / passwd
OUTPUT
If -t ຖືກກໍານົດ, ຫນຶ່ງໃນ .
If -s ແມ່ນລະບຸ, ຂະຫນາດຂອງ ໃນ bytes.
If -e ຖືກລະບຸ, ບໍ່ມີຜົນຜະລິດ.
If -p ແມ່ນລະບຸໄວ້, ເນື້ອໃນຂອງ ມີການພິມ pretty.
ຖ້າ ໄດ້ຖືກລະບຸໄວ້, ເນື້ອໃນວັດຖຸດິບ (ເຖິງແມ່ນວ່າບໍ່ໄດ້ບີບອັດ) ຂອງ ຈະເປັນ
ກັບຄືນມາ.
ການຕໍ່ສູ້ OUTPUT
ຖ້າ --batch ຫຼື --batch-check ຖືກໃຫ້, cat-file ຈະອ່ານວັດຖຸຈາກ stdin, ຫນຶ່ງຕໍ່ແຖວ,
ແລະພິມຂໍ້ມູນກ່ຽວກັບພວກມັນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ເສັ້ນທັງຫມົດຖືກພິຈາລະນາເປັນວັດຖຸ,
ຄືກັບວ່າມັນຖືກປ້ອນ git-rev-parse(1).
ທ່ານສາມາດກໍານົດຂໍ້ມູນທີ່ສະແດງໃຫ້ເຫັນສໍາລັບແຕ່ລະວັດຖຸໂດຍການໃຊ້ custom . ໄດ້
ຖືກຄັດລອກຕາມຕົວອັກສອນເພື່ອ stdout ສໍາລັບແຕ່ລະວັດຖຸ, ດ້ວຍຕົວຍຶດຂອງແບບຟອມ
%(ອະຕອມ) ຂະຫຍາຍ, ຕາມດ້ວຍແຖວໃໝ່. ປະລໍາມະນູທີ່ມີຢູ່ແມ່ນ:
ຊື່ວັດຖຸ
ຊື່ວັດຖຸ 40-hex ຂອງວັດຖຸ.
ປະເພດວັດຖຸ
ປະເພດຂອງວັດຖຸ (ຄືກັນກັບລາຍງານ cat-file -t).
ຂະຫນາດວັດຖຸ
ຂະຫນາດ, ໃນ bytes, ຂອງວັດຖຸ (ຄືກັນກັບບົດລາຍງານ cat-file -s).
Objectsize:disk
ຂະຫນາດ, ໃນ bytes, ທີ່ວັດຖຸໃຊ້ເວລາເຖິງແຜ່ນ. ເບິ່ງບັນທຶກກ່ຽວກັບຂະຫນາດໃນແຜ່ນ
ໃນພາກ CAVEATS ຂ້າງລຸ່ມນີ້.
deltabase
ຖ້າວັດຖຸຖືກເກັບໄວ້ເປັນ delta on-disk, ນີ້ຂະຫຍາຍໄປສູ່ 40-hex sha1 ຂອງ.
ວັດຖຸພື້ນຖານ delta. ຖ້າບໍ່ດັ່ງນັ້ນ, ຂະຫຍາຍໄປສູ່ null sha1 (40 zeroes). ເບິ່ງ CAVEATS ຂ້າງລຸ່ມນີ້.
ສ່ວນທີ່ເຫຼືອ
ຖ້າອະຕອມນີ້ຖືກໃຊ້ໃນສະຕຣິງຜົນຜະລິດ, ສາຍປ້ອນເຂົ້າຈະຖືກແບ່ງອອກໃນຕອນທຳອິດ
ເຂດແດນຊ່ອງຂາວ. ຕົວອັກສອນທັງໝົດກ່ອນຊ່ອງຫວ່າງນັ້ນຖືກພິຈາລະນາວ່າເປັນ
ຊື່ວັດຖຸ; ຕົວອັກສອນຫຼັງຈາກໄລຍະທໍາອິດຂອງຊ່ອງຫວ່າງນັ້ນ (ie, "ສ່ວນທີ່ເຫຼືອ" ຂອງ
line) ແມ່ນຜົນຜະລິດແທນອະຕອມ %(rest).
ຖ້າບໍ່ມີຮູບແບບໃດຖືກລະບຸ, ຮູບແບບເລີ່ມຕົ້ນແມ່ນ %(objectname) %(objecttype)
%(ຂະຫນາດວັດຖຸ).
ຖ້າ --batch ຖືກລະບຸ, ຂໍ້ມູນວັດຖຸແມ່ນຕິດຕາມດ້ວຍເນື້ອໃນຂອງວັດຖຸ
(ປະກອບດ້ວຍ %(objectsize) bytes), ຕາມດ້ວຍແຖວໃໝ່.
ຕົວຢ່າງ, --batch ໂດຍບໍ່ມີຮູບແບບທີ່ກໍາຫນົດເອງຈະຜະລິດ:
SP SP LF
LF
ໃນຂະນະທີ່ --batch-check='%(objectname) %(objecttype)' ຈະຜະລິດ:
SP LF
ຖ້າຊື່ຖືກລະບຸໄວ້ໃນ stdin ທີ່ບໍ່ສາມາດແກ້ໄຂກັບວັດຖຸໃນ repository,
ຫຼັງຈາກນັ້ນ cat-file ຈະບໍ່ສົນໃຈຮູບແບບທີ່ກໍາຫນົດເອງແລະພິມ:
SP ຂາດ LF
ຖ້າ --follow-symlinks ຖືກນໍາໃຊ້, ແລະ symlink ໃນຈຸດ repository ຢູ່ນອກ
repository, ຫຼັງຈາກນັ້ນ cat-file ຈະບໍ່ສົນໃຈຮູບແບບທີ່ກໍາຫນົດເອງແລະພິມ:
symlink SP LF
LF
symlink ຈະເປັນຢ່າງແທ້ຈິງ (ເລີ່ມຕົ້ນດ້ວຍ a /), ຫຼືພີ່ນ້ອງກັບຮາກຕົ້ນໄມ້.
ຕົວຢ່າງ, ຖ້າ dir/link ຊີ້ໄປຫາ ../../foo, ຫຼັງຈາກນັ້ນ ຈະເປັນ ../foo. ແມ່ນ
ຂະຫນາດຂອງ symlink ໃນ bytes.
ຖ້າ --follow-symlinks ຖືກໃຊ້, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຕໍ່ໄປນີ້ຈະຖືກສະແດງ:
SP ຂາດ LF
ຖືກພິມອອກເມື່ອ symlink ເບື້ອງຕົ້ນທີ່ຮ້ອງຂໍບໍ່ມີ.
dangling SP LF
LF
ຖືກພິມອອກເມື່ອ symlink ເບື້ອງຕົ້ນມີຢູ່, ແຕ່ບາງສິ່ງບາງຢ່າງທີ່ມັນ (transitive-of) ຈຸດ
ບໍ່.
ວົງ SP LF
LF
ຖືກພິມອອກສໍາລັບ symlink loops (ຫຼື symlinks ທີ່ຕ້ອງການຫຼາຍກວ່າ 40 ການແກ້ໄຂການເຊື່ອມຕໍ່.
ເພື່ອແກ້ໄຂ).
notdir SP LF
LF
ຖືກພິມອອກເມື່ອ, ໃນລະຫວ່າງການແກ້ໄຂ symlink, ໄຟລ໌ຖືກນໍາໃຊ້ເປັນຊື່ໄດເລກະທໍລີ.
ຂໍ້ຄວນລະວັງ
ໃຫ້ສັງເກດວ່າຂະຫນາດຂອງວັດຖຸໃນແຜ່ນໄດ້ຖືກລາຍງານຢ່າງຖືກຕ້ອງ, ແຕ່ຄວນເອົາໃຈໃສ່
ໃນການແຕ້ມບົດສະຫຼຸບກ່ຽວກັບວ່າ refs ຫຼືວັດຖຸໃດຮັບຜິດຊອບສໍາລັບການນໍາໃຊ້ແຜ່ນ. ໄດ້
ຂະຫນາດຂອງວັດຖຸທີ່ບໍ່ແມ່ນ delta ບັນຈຸອາດຈະໃຫຍ່ກວ່າຂະຫນາດຂອງວັດຖຸທີ່ delta
ຕໍ່ກັບມັນ, ແຕ່ການເລືອກຂອງວັດຖຸໃດເປັນພື້ນຖານແລະອັນໃດເປັນ delta ແມ່ນ arbitrary
ແລະອາດມີການປ່ຽນແປງໃນລະຫວ່າງການບັນຈຸຄືນ.
ໃຫ້ສັງເກດອີກວ່າສຳເນົາຫຼາຍອັນຂອງວັດຖຸອາດມີຢູ່ໃນຖານຂໍ້ມູນວັດຖຸ; ໃນນີ້
ກໍລະນີ, ມັນບໍ່ໄດ້ກໍານົດວ່າຂະຫນາດຂອງສໍາເນົາຫຼືຖານ delta ຈະຖືກລາຍງານ.
GIT
ສ່ວນຫນຶ່ງຂອງ ໄປ(1) ຊຸດ
ໃຊ້ git-cat-file ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net