ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

git-rev-parse - ອອນລາຍໃນຄລາວ

ດໍາເນີນການ git-rev-parse ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ git-rev-parse ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


git-rev-parse - ເອົາອອກ ແລະຕົວກໍານົດການນວດ

ສະຫຼຸບສັງລວມ


ໄປ rev-parse [ -- ທາງ​ເລືອກ​] ...

ລາຍລະອຽດ


ຄໍາສັ່ງຂອງ Git porcelainish ຈໍານວນຫຼາຍໃຊ້ເວລາປະສົມຂອງທຸງ (ເຊັ່ນພາລາມິເຕີທີ່ເລີ່ມຕົ້ນດ້ວຍ a
dash -) ແລະຕົວກໍານົດການຫມາຍຄວາມວ່າສໍາລັບພື້ນຖານ ໄປ rev-ບັນຊີລາຍຊື່ ຄໍາສັ່ງທີ່ພວກເຂົາໃຊ້ພາຍໃນ
ແລະທຸງແລະພາລາມິເຕີສໍາລັບຄໍາສັ່ງອື່ນໆທີ່ພວກເຂົາໃຊ້ລຸ່ມນ້ໍາ ໄປ rev-ບັນຊີລາຍຊື່. ນີ້
ຄໍາສັ່ງຖືກນໍາໃຊ້ເພື່ອຈໍາແນກລະຫວ່າງພວກເຂົາ.

OPTIONS


ການດໍາເນີນງານ Modes
ແຕ່ລະທາງເລືອກເຫຼົ່ານີ້ຕ້ອງປາກົດຢູ່ໃນແຖວຄໍາສັ່ງທໍາອິດ.

--parseopt
ການນໍາໃຊ້ ໄປ rev-parse ໃນ​ຮູບ​ແບບ​ການ​ແຍກ​ທາງ​ເລືອກ (ເບິ່ງ​ພາກ PARSOPT ຂ້າງ​ລຸ່ມ​ນີ້​)​.

--sq-quote
ການນໍາໃຊ້ ໄປ rev-parse ໃນ​ຮູບ​ແບບ​ການ​ອ້າງ​ອີງ shell (ເບິ່ງ SQ-QUOTE ພາກ​ລຸ່ມ​ນີ້). ກົງກັນຂ້າມກັບ
ຕົວເລືອກ --sq ຂ້າງລຸ່ມນີ້, ຮູບແບບນີ້ເຮັດພຽງແຕ່ການອ້າງອີງ. ບໍ່ມີຫຍັງເຮັດເພື່ອສັ່ງ
input

ທາງເລືອກໃນການ ສໍາລັບການ --parseopt
--keep-dashdash
ມີ​ຄວາມ​ຫມາຍ​ພຽງ​ແຕ່​ໃນ --parseopt mode​. ບອກຕົວວິເຄາະທາງເລືອກເພື່ອສະທ້ອນອອກມາຄັ້ງທໍາອິດ --
ໄດ້ພົບແທນທີ່ຈະຂ້າມມັນ.

--stop-at-non-option
ມີ​ຄວາມ​ຫມາຍ​ພຽງ​ແຕ່​ໃນ --parseopt mode​. ອະນຸຍາດໃຫ້ຕົວວິເຄາະທາງເລືອກຢຸດຢູ່ທີ່ທໍາອິດ
ການໂຕ້ຖຽງທີ່ບໍ່ແມ່ນທາງເລືອກ. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອວິເຄາະຄໍາສັ່ງຍ່ອຍທີ່ເອົາທາງເລືອກ
ຕົວເອງ

--ຕິດຍາວ
ມີ​ຄວາມ​ຫມາຍ​ພຽງ​ແຕ່​ໃນ --parseopt mode​. ຜົນຜະລິດທາງເລືອກໃນຮູບແບບຍາວຂອງພວກເຂົາຖ້າ
ມີຢູ່, ແລະມີການໂຕ້ຖຽງຂອງພວກເຂົາຕິດຢູ່.

ທາງເລືອກໃນການ ສໍາລັບການ ການກັ່ນຕອງ
--revs-ເທົ່ານັ້ນ
ບໍ່ໃຫ້ອອກທຸງແລະຕົວກໍານົດການບໍ່ໄດ້ຫມາຍຄວາມວ່າສໍາລັບ ໄປ rev-ບັນຊີລາຍຊື່ ຄໍາສັ່ງ.

--no-revs
ຫ້າມສົ່ງທຸງ ແລະພາລາມິເຕີທີ່ໝາຍເຖິງ ໄປ rev-ບັນຊີລາຍຊື່ ຄໍາສັ່ງ.

--ທຸງ
ຢ່າສົ່ງຄ່າພາລາມິເຕີທີ່ບໍ່ແມ່ນທຸງ.

--ບໍ່ມີທຸງ
ຢ່າສົ່ງຄ່າພາລາມິເຕີທຸງ.

ທາງເລືອກໃນການ ສໍາລັບການ ຜົນຜະລິດ
--ຄ່າເລີ່ມຕົ້ນ
ຖ້າບໍ່ມີຕົວກໍານົດການໃຫ້ໂດຍຜູ້ໃຊ້, ໃຊ້ ແທນ.

-- ຄໍານໍາຫນ້າ
ປະຕິບັດຕົວຄືກັບວ່າ ໄປ rev-parse ໄດ້​ຖືກ​ຮຽກ​ຮ້ອງ​ຈາກ​ ໄດເລກະທໍລີຍ່ອຍຂອງການເຮັດວຽກ
ຕົ້ນໄມ້. ຊື່ໄຟລ໌ທີ່ກ່ຽວຂ້ອງຖືກແກ້ໄຂຄືກັບວ່າພວກມັນຖືກນໍາຫນ້າໂດຍ ແລະຈະເປັນ
ພິມໃນຮູບແບບນັ້ນ.

ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອປ່ຽນ arguments ເປັນຄໍາສັ່ງດໍາເນີນການໃນ subdirectory ເພື່ອໃຫ້ເຂົາເຈົ້າ
ຍັງສາມາດຖືກນໍາໃຊ້ຫຼັງຈາກຍ້າຍໄປຫາລະດັບສູງສຸດຂອງ repository. ຍົກ​ຕົວ​ຢ່າງ:

prefix=$(git rev-parse --show-prefix)
cd "$(git rev-parse --show-toplevel)"
eval "ຕັ້ງ -- $(git rev-parse --sq --prefix "$prefix" "$@")"

--ກວດ​ສອບ
ກວດ​ສອບ​ວ່າ​ຕົວ​ກໍາ​ນົດ​ການ​ທີ່​ແນ່​ນອນ​ແມ່ນ​ໄດ້​ສະ​ຫນອງ​ໃຫ້​, ແລະ​ວ່າ​ມັນ​ສາ​ມາດ​ປ່ຽນ​ເປັນ​ວັດ​ຖຸ​ດິບ​
20-byte SHA-1 ທີ່ສາມາດໃຊ້ເພື່ອເຂົ້າເຖິງຖານຂໍ້ມູນວັດຖຸ. ຖ້າເປັນດັ່ງນັ້ນ, ປ່ອຍມັນໄປທີ່
ຜົນຜະລິດມາດຕະຖານ; ຖ້າບໍ່ດັ່ງນັ້ນ, ຄວາມຜິດພາດອອກ.

ຖ້າທ່ານຕ້ອງການໃຫ້ແນ່ໃຈວ່າຜົນໄດ້ຮັບທີ່ແທ້ຈິງຕັ້ງຊື່ວັດຖຸໃນວັດຖຸຂອງທ່ານ
ຖານ​ຂໍ້​ມູນ​ແລະ / ຫຼື​ສາ​ມາດ​ນໍາ​ໃຊ້​ເປັນ​ປະ​ເພດ​ສະ​ເພາະ​ຂອງ​ວັດ​ຖຸ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​, ທ່ານ​ສາ​ມາດ​ເພີ່ມ​ໄດ້​
^{type} ການປອກເປືອກຕົວປະຕິບັດການໄປຫາພາລາມິເຕີ. ຕົວຢ່າງ, git rev-parse "$VAR^{commit}"
ຈະໃຫ້ແນ່ໃຈວ່າ $VAR ຕັ້ງຊື່ວັດຖຸທີ່ມີຢູ່ແລ້ວທີ່ເປັນ commit-ish (ເຊັ່ນ: commit, ຫຼື
ແທັກຄຳອະທິບາຍປະກອບທີ່ຊີ້ໃສ່ຄຳໝັ້ນສັນຍາ). ເພື່ອໃຫ້ແນ່ໃຈວ່າ $VAR ຕັ້ງຊື່ທີ່ມີຢູ່ແລ້ວ
ວັດຖຸປະເພດໃດກໍໄດ້, git rev-parse "$VAR^{object}" ສາມາດໃຊ້ໄດ້.

-q, --ງຽບ
ມີຄວາມໝາຍໃນໂໝດ --verify ເທົ່ານັ້ນ. ຢ່າອອກຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຖ້າການໂຕ້ຖຽງທໍາອິດ
ບໍ່ແມ່ນຊື່ວັດຖຸທີ່ຖືກຕ້ອງ; ແທນທີ່ຈະອອກດ້ວຍສະຖານະທີ່ບໍ່ແມ່ນສູນຢ່າງງຽບໆ. SHA-1s ສໍາລັບ
ຊື່ວັດຖຸທີ່ຖືກຕ້ອງຖືກພິມເພື່ອ stdout ສົບຜົນສໍາເລັດ.

-- sq
ປົກກະຕິແລ້ວຜົນຜະລິດແມ່ນເຮັດຫນຶ່ງເສັ້ນຕໍ່ທຸງແລະພາລາມິເຕີ. ທາງເລືອກນີ້ເຮັດໃຫ້ຜົນຜະລິດ a
ເສັ້ນດຽວ, ອ້າງອີງຢ່າງຖືກຕ້ອງສໍາລັບການບໍລິໂພກໂດຍແກະ. ເປັນປະໂຫຍດໃນເວລາທີ່ທ່ານຄາດຫວັງຂອງທ່ານ
ພາລາມິເຕີທີ່ຈະບັນຈຸຊ່ອງຫວ່າງແລະແຖວໃຫມ່ (ເຊັ່ນ: ເມື່ອໃຊ້ pickaxe -S ກັບ ໄປ
ຄວາມແຕກຕ່າງ-*). ກົງກັນຂ້າມກັບທາງເລືອກ --sq-quote, ການປ້ອນຄໍາສັ່ງຍັງຖືກຕີຄວາມ
ເປັນປົກກະຕິ.

--ບໍ່
ເມື່ອສະແດງຊື່ວັດຖຸ, ໃຫ້ໃສ່ຄຳນຳໜ້າດ້ວຍ ^ ແລະເສັ້ນດ່າງ ^ ຄໍານໍາຫນ້າຈາກຊື່ວັດຖຸ
ທີ່ມີແລ້ວ.

--abbrev-ref[=(ເຄັ່ງຄັດ|ວ່າງ)]
ຊື່ສັ້ນທີ່ບໍ່ຊັດເຈນຂອງຊື່ວັດຖຸ. ທາງເລືອກ core.warnAmbiguousRefs ແມ່ນ
ໃຊ້ເພື່ອເລືອກຮູບແບບການຫຍໍ້ທີ່ເຄັ່ງຄັດ.

--short, --short=ຕົວເລກ
ແທນ​ທີ່​ຈະ​ອອກ​ຄ່າ SHA-1 ອັນ​ເຕັມ​ທີ່​ຂອງ​ຊື່​ວັດ​ຖຸ​ພະ​ຍາ​ຍາມ​ທີ່​ຈະ​ຫຍໍ້​ໃຫ້​ເຂົາ​ເຈົ້າ​ເປັນ
ຊື່ສະເພາະທີ່ສັ້ນກວ່າ. ເມື່ອບໍ່ລະບຸຄວາມຍາວ 7 ຖືກນໍາໃຊ້. ຄວາມຍາວຕໍ່າສຸດແມ່ນ 4.

--ສັນຍະລັກ
ປົກກະຕິແລ້ວຊື່ວັດຖຸແມ່ນຜົນຜະລິດໃນຮູບແບບ SHA-1 (ເປັນໄປໄດ້ ^ ຄໍານໍາຫນ້າ); ນີ້
ທາງ​ເລືອກ​ເຮັດ​ໃຫ້​ເຂົາ​ເຈົ້າ​ຜະ​ລິດ​ຕະ​ພັນ​ໃນ​ຮູບ​ແບບ​ເປັນ​ໃກ້​ກັບ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ຕົ້ນ​ສະ​ບັບ​ເທົ່າ​ທີ່​ເປັນ​ໄປ​ໄດ້​.

--symbolic-ຊື່ເຕັມ
ນີ້ແມ່ນຄ້າຍຄືກັນກັບ --symbolic, ແຕ່ມັນຍົກເວັ້ນການປ້ອນຂໍ້ມູນທີ່ບໍ່ແມ່ນ refs (ເຊັ່ນສາຂາຫຼື
ຊື່ແທັກ; ຫຼືຫຼາຍກວ່ານັ້ນ disambiguating "heads/master" ຢ່າງຊັດເຈນແບບຟອມ, ໃນເວລາທີ່ທ່ານຕ້ອງການ
ຕັ້ງຊື່ສາຂາ "ແມ່ບົດ" ເມື່ອມີປ້າຍຊື່ "ແມ່ບົດ" ແຕ່ຫນ້າເສຍດາຍ), ແລະສະແດງ
ພວກມັນເປັນການປ່ຽນຊື່ເຕັມ (ເຊັ່ນ: "refs/heads/master").

ທາງເລືອກໃນການ ສໍາລັບການ ຈຸດປະສົງ
--ທັງໝົດ
ສະແດງການອ້າງອີງທັງໝົດທີ່ພົບໃນ refs/.

--ສາຂາ[=ແບບ], --tags[=ແບບ], --remotes[=ແບບ]
ສະແດງທຸກສາຂາ, ແທັກ, ຫຼືສາຂາການຕິດຕາມໄລຍະໄກ, ຕາມລໍາດັບ (ເຊັ່ນ: ອ້າງອີງທີ່ພົບເຫັນ
ໃນ refs/heads, refs/tags, ຫຼື refs/remotes, ຕາມລໍາດັບ).

ຖ້າໃຫ້ຮູບແບບໃດໜຶ່ງ, ມີພຽງແຕ່ການອ້າງອີງທີ່ກົງກັບ shell glob ທີ່ໃຫ້ມາເທົ່ານັ້ນຈະສະແດງ. ຖ້າ
ຮູບ​ແບບ​ບໍ່​ມີ​ລັກ​ສະ​ນະ globbing (?, *, ຫຼື [), ມັນ​ໄດ້​ຖືກ​ປ່ຽນ​ເປັນ​ຄໍາ​ນໍາ​ຫນ້າ
ຈັບຄູ່ໂດຍການຕໍ່ທ້າຍ /*.

--glob=ຮູບແບບ
ສະແດງການອ້າງອີງທັງໝົດທີ່ກົງກັບຮູບແບບຂອງຮູບໄຂ່ຫຼັງຂອງເປືອກຫອຍ. ຖ້າຮູບແບບບໍ່ເລີ່ມຕົ້ນ
ດ້ວຍ refs/, ອັນນີ້ຈະຖືກນຳໜ້າໂດຍອັດຕະໂນມັດ. ຖ້າຮູບແບບບໍ່ມີ a
ຕົວອັກສອນ globbing (?, *, ຫຼື [), ມັນຖືກປ່ຽນເປັນຄໍານໍາຫນ້າໂດຍການຕໍ່ທ້າຍ /*.

--ຍົກເວັ້ນ=
ບໍ່ລວມເອົາການອ້າງອີງທີ່ກົງກັນ ວ່າຕໍ່ໄປ --all, --branches, --tags,
--remotes, ຫຼື --glob ຈະພິຈາລະນາຖ້າບໍ່ດັ່ງນັ້ນ. ການຄ້າງຫ້ອງຂອງທາງເລືອກນີ້ສະສົມ
ຮູບແບບການຍົກເວັ້ນຕໍ່ກັບ --all, --branches, --tags, --remotes, or --glob
ທາງເລືອກ (ທາງເລືອກອື່ນຫຼືການໂຕ້ຖຽງບໍ່ລຶບລ້າງຮູບແບບສະສົມ).

ຮູບແບບທີ່ໃຫ້ມາບໍ່ຄວນເລີ່ມຕົ້ນດ້ວຍ refs/heads, refs/tags, ຫຼື refs/remotes ເມື່ອ
ໃຊ້ກັບ --branches, --tags, ຫຼື --remotes, ຕາມລໍາດັບ, ແລະພວກເຂົາຕ້ອງເລີ່ມຕົ້ນດ້ວຍ
refs/ ເມື່ອນຳໃຊ້ກັບ --glob ຫຼື --all. ຖ້າ​ຫາກ​ວ່າ​ຕິດ​ຕາມ​ /* ມີຈຸດປະສົງ, ມັນຕ້ອງໄດ້ຮັບການມອບໃຫ້
ຢ່າງຈະແຈ້ງ.

--disambiguate=
ສະແດງທຸກວັດຖຸທີ່ມີຊື່ເລີ່ມຕົ້ນດ້ວຍຄໍານໍາໜ້າທີ່ໃຫ້ໄວ້. ໄດ້ ຕ້ອງຢູ່ທີ່
ຢ່າງໜ້ອຍ 4 ຕົວເລກເລກຖານສິບຫົກທີ່ມີຄວາມຍາວເພື່ອຫຼີກເວັ້ນການສະແດງແຕ່ລະວັດຖຸໃນ
repository ໂດຍຄວາມຜິດພາດ.

ທາງເລືອກໃນການ ສໍາລັບການ ໄຟ
--local-env-vars
ບອກຕົວແປສະພາບແວດລ້ອມ GIT_* ທີ່ຢູ່ໃນບ່ອນເກັບມ້ຽນ (ເຊັ່ນ: GIT_DIR ຫຼື
GIT_WORK_TREE, ແຕ່ບໍ່ແມ່ນ GIT_EDITOR). ມີພຽງແຕ່ຊື່ຂອງຕົວແປທີ່ຖືກລະບຸໄວ້, ບໍ່ແມ່ນ
ມູນຄ່າຂອງພວກເຂົາ, ເຖິງແມ່ນວ່າພວກເຂົາຖືກກໍານົດ.

--git-dir
ສະແດງ $GIT_DIR ຖ້າຖືກກໍານົດ. ຖ້າບໍ່ດັ່ງນັ້ນສະແດງເສັ້ນທາງໄປຫາໄດເລກະທໍລີ .git. ເສັ້ນທາງ
ສະແດງໃຫ້ເຫັນ, ເມື່ອພີ່ນ້ອງ, ແມ່ນກ່ຽວຂ້ອງກັບໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.

ຖ້າ $GIT_DIR ບໍ່ໄດ້ຖືກກໍານົດແລະໄດເລກະທໍລີປະຈຸບັນບໍ່ຖືກກວດພົບວ່ານອນຢູ່ໃນ Git
repository ຫຼື work tree ພິມຂໍ້ຄວາມໄປຫາ stderr ແລະອອກດ້ວຍສະຖານະ nonzero.

--git-common-dir
ສະແດງ $GIT_COMMON_DIR ຖ້າຖືກກໍານົດ, ອື່ນ $GIT_DIR.

--is-inside-git-dir
ເມື່ອໄດເລກະທໍລີທີ່ເຮັດວຽກຢູ່ຂ້າງລຸ່ມຂອງໄດເລກະທໍລີ repository ພິມ "ຄວາມຈິງ",
ຖ້າບໍ່ດັ່ງນັ້ນ "ບໍ່ຖືກຕ້ອງ".

--is-inside-work-tree
ເມື່ອໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນຢູ່ໃນຕົ້ນໄມ້ບ່ອນເຮັດວຽກຂອງການພິມ repository
"ຄວາມຈິງ", ຖ້າບໍ່ດັ່ງນັ້ນ "ບໍ່ຖືກຕ້ອງ".

--is-bare-repository
ໃນເວລາທີ່ repository ແມ່ນເປົ່າພິມ "ຄວາມຈິງ", ຖ້າບໍ່ດັ່ງນັ້ນ "false".

--resolve-git-dir
ກວດເບິ່ງວ່າ ແມ່ນບ່ອນເກັບມ້ຽນທີ່ຖືກຕ້ອງຫຼື gitfile ທີ່ຊີ້ໃຫ້ເຫັນເຖິງບ່ອນເກັບມ້ຽນທີ່ຖືກຕ້ອງ,
ແລະພິມສະຖານທີ່ຂອງ repository ໄດ້. ຖ້າ ແມ່ນ gitfile ຫຼັງຈາກນັ້ນການແກ້ໄຂ
ເສັ້ນທາງໄປຫາບ່ອນເກັບມ້ຽນທີ່ແທ້ຈິງແມ່ນພິມອອກ.

--git-path
ແກ້ໄຂ "$GIT_DIR/ " ແລະໃຊ້ຕົວແປການຍົກຍ້າຍເສັ້ນທາງອື່ນໆເຊັ່ນ:
$GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... ເຂົ້າບັນຊີ. ຕົວຢ່າງ, ຖ້າ
$GIT_OBJECT_DIRECTORY ຖືກຕັ້ງເປັນ /foo/bar ຈາກນັ້ນ "git rev-parse --git-path objects/abc"
ກັບຄືນ /foo/bar/abc.

--show-cdup
ເມື່ອຄໍາສັ່ງຖືກເອີ້ນຈາກ subdirectory, ສະແດງເສັ້ນທາງຂອງລະດັບສູງສຸດ
ໄດເລກະທໍລີທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີປະຈຸບັນ (ໂດຍປົກກະຕິເປັນລໍາດັບຂອງ "../", ຫຼືເປັນ
string ເປົ່າ).

--show-prefix
ເມື່ອຄໍາສັ່ງຖືກເອີ້ນຈາກ subdirectory, ສະແດງເສັ້ນທາງຂອງປະຈຸບັນ
ໄດເລກະທໍລີທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີລະດັບສູງສຸດ.

--show-toplevel
ສະແດງເສັ້ນທາງຢ່າງແທ້ຈິງຂອງໄດເລກະທໍລີລະດັບສູງສຸດ.

--shared-index-path
ສະ​ແດງ​ເສັ້ນ​ທາງ​ໄປ​ຫາ​ໄຟລ​໌​ດັດ​ຊະ​ນີ​ທີ່​ແບ່ງ​ປັນ​ໃນ​ຮູບ​ແບບ​ດັດ​ຊະ​ນີ​ແບ່ງ​ປັນ​, ຫຼື​ຫວ່າງ​ເປົ່າ​ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ຢູ່​ໃນ​
ຮູບແບບການແບ່ງປັນດັດສະນີ.

ອື່ນ ໆ ທາງເລືອກໃນການ
--since=datestring, --after=datestring
parse the date string, and output the corresponding --max-age= parameter for ໄປ
rev-ບັນຊີລາຍຊື່.

--until=datestring, --before=datestring
parse the date string, and output the corresponding --min-age= parameter for ໄປ
rev-ບັນຊີລາຍຊື່.

...
ທຸງ ແລະຕົວກໍານົດການທີ່ຈະວິເຄາະ.

ລະບຸ ຄຳ ຕິຊົມ


ຕົວກໍານົດການດັດແກ້ ໂດຍປົກກະຕິ, ແຕ່ບໍ່ຈໍາເປັນ, ຕັ້ງຊື່ວັດຖຸ commit. ມັນໃຊ້
ອັນໃດເອີ້ນວ່າ ຂະຫຍາຍ SHA-1 syntax. ນີ້ແມ່ນວິທີຕ່າງໆໃນການສະກົດຊື່ວັດຖຸ. ໄດ້
ລາຍຊື່ທີ່ຢູ່ໃກ້ໃນຕອນທ້າຍຂອງບັນຊີລາຍຊື່ນີ້ຊື່ຕົ້ນໄມ້ແລະ blobs ທີ່ມີຢູ່ໃນຄໍາຫມັ້ນສັນຍາ.

, ຕົວຢ່າງ dae86e1950b1277e545cee180551750029cfe735, dae86e
ຊື່ເຕັມຂອງວັດຖຸ SHA-1 (ສະຕຣິງເລກຖານສິບຫົກ 40-byte), ຫຼືສະຕຣິງຍ່ອຍຊັ້ນນໍາທີ່
ເປັນເອກະລັກພາຍໃນ repository. ຕົວຢ່າງ dae86e1950b1277e545cee180551750029cfe735 ແລະ
dae86e ທັງສອງຕັ້ງຊື່ວັດຖຸ commit ດຽວກັນຖ້າບໍ່ມີວັດຖຸອື່ນໃນ repository ຂອງທ່ານ
ຊື່ວັດຖຸເລີ່ມຕົ້ນດ້ວຍ dae86e.

, ຕົວຢ່າງ v1.7.4.2-679-g3bee7fb
ຜົນຜະລິດຈາກ git describe; ເຊັ່ນ: ແທັກທີ່ໃກ້ຄຽງທີ່ສຸດ, ເລືອກຕາມດ້ວຍ dash ແລະ a
ຈໍານວນຄໍາຫມັ້ນສັນຍາ, ຕິດຕາມດ້ວຍ dash, a g, ແລະຊື່ວັດຖຸຫຍໍ້ໆ.

, ຕົວຢ່າງ ຕົ້ນສະບັບ, ຫົວຫນ້າ / ອາຈານ, refs/heads/master
ຊື່ອ້າງອີງທີ່ເປັນສັນຍາລັກ. ຕົວຢ່າງ ຕົ້ນສະບັບ ໂດຍປົກກະຕິຫມາຍເຖິງວັດຖຸທີ່ອ້າງອີງໂດຍ
refs/heads/master. ຖ້າເຈົ້າມີທັງສອງ ຫົວຫນ້າ / ອາຈານ ແລະ tags/ແມ່ບົດ, ເຈົ້າ​ສາ​ມາດ
ເວົ້າຢ່າງຈະແຈ້ງ ຫົວຫນ້າ / ອາຈານ ເພື່ອບອກ Git ເຈົ້າຫມາຍຄວາມວ່າອັນໃດ. ເມື່ອບໍ່ຊັດເຈນ, ກ
ແມ່ນ disambiguated ໂດຍການແຂ່ງຂັນຄັ້ງທໍາອິດໃນກົດລະບຽບດັ່ງຕໍ່ໄປນີ້:

1 If $GIT_DIR/ ມີຢູ່, ນັ້ນແມ່ນສິ່ງທີ່ທ່ານຫມາຍຄວາມວ່າ (ນີ້ມັກຈະເປັນປະໂຫຍດເທົ່ານັ້ນ
ສໍາລັບການ HEAD, FETCH_HEAD, ORIG_HEAD, MERGE_HEAD ແລະ CHERRY_PICK_HEAD);

2. ຖ້າບໍ່ດັ່ງນັ້ນ, ອ້າງອີງ/ ຖ້າມັນມີຢູ່;

3. ຖ້າບໍ່ດັ່ງນັ້ນ, ອ້າງອີງ/ແທັກ/ ຖ້າມັນມີຢູ່;

4. ຖ້າບໍ່ດັ່ງນັ້ນ, ອ້າງອີງ/ຫົວ/ ຖ້າມັນມີຢູ່;

5. ຖ້າບໍ່ດັ່ງນັ້ນ, ອ້າງອີງ/ໄລຍະໄກ/ ຖ້າມັນມີຢູ່;

6. ຖ້າບໍ່ດັ່ງນັ້ນ, ອ້າງອີງ/ໄລຍະໄກ/ /ຫົວ ຖ້າມັນມີຢູ່.

HEAD ຊື່ຄໍາຫມັ້ນສັນຍາທີ່ທ່ານອີງໃສ່ການປ່ຽນແປງໃນຕົ້ນໄມ້ທີ່ເຮັດວຽກ.
FETCH_HEAD ບັນ​ທຶກ​ສາ​ຂາ​ທີ່​ທ່ານ​ໄດ້​ຮັບ​ຈາກ repository ຫ່າງ​ໄກ​ສອກ​ຫຼີກ​ທີ່​ມີ​ຂອງ​ທ່ານ​
ຄໍາຮ້ອງຂໍການດຶງຂໍ້ມູນ git ສຸດທ້າຍ. ORIG_HEAD ຖືກສ້າງຂື້ນໂດຍຄໍາສັ່ງທີ່ຍ້າຍຂອງທ່ານ HEAD
ໃນວິທີການ drastic, ເພື່ອບັນທຶກຕໍາແຫນ່ງຂອງ HEAD ກ່ອນທີ່ຈະດໍາເນີນການຂອງເຂົາເຈົ້າ, ດັ່ງນັ້ນ
ທີ່​ທ່ານ​ໄດ້​ຢ່າງ​ງ່າຍ​ດາຍ​ສາ​ມາດ​ປ່ຽນ​ປາຍ​ຂອງ​ສາ​ຂາ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​ຂອງ​ລັດ​ກ່ອນ​ທີ່​ທ່ານ​ຈະ​ແລ່ນ​
ໃຫ້ເຂົາເຈົ້າ. MERGE_HEAD ບັນ​ທຶກ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ທີ່​ທ່ານ​ກໍາ​ລັງ​ລວມ​ເຂົ້າ​ໃນ​ສາ​ຂາ​ຂອງ​ທ່ານ​
ເມື່ອທ່ານດໍາເນີນການ git merge. CHERRY_PICK_HEAD ບັນທຶກຄໍາຫມັ້ນສັນຍາທີ່ທ່ານເປັນ
cherry- picking ໃນເວລາທີ່ທ່ານແລ່ນ git cherry-pick.

ໃຫ້ສັງເກດວ່າໃດໆຂອງ ອ້າງອີງ/* ກໍລະນີຂ້າງເທິງອາດຈະມາຈາກ $GIT_DIR/ອ້າງອີງ
ໄດເລກະທໍລີຫຼືຈາກ $GIT_DIR/packed-refs ໄຟລ໌. ໃນຂະນະທີ່ການເຂົ້າລະຫັດຊື່ອ້າງອີງແມ່ນ
ບໍ່ໄດ້ລະບຸ, UTF-8 ແມ່ນຕ້ອງການຍ້ອນວ່າການປຸງແຕ່ງຜົນຜະລິດບາງຢ່າງອາດຈະສົມມຸດຊື່ອ້າງອີງໃນ
UTF-8.

@
@ ຄົນດຽວແມ່ນທາງລັດສໍາລັບ HEAD.

@{ }, ຕົວຢ່າງ master@{ມື້ວານນີ້}, HEAD@{5 ນາທີ ກ່ອນໜ້ານີ້}
ອ້າງອີງຕາມດ້ວຍຄຳຕໍ່ທ້າຍ @ ໂດຍມີສະເພາະວັນທີທີ່ປິດດ້ວຍຄູ່ເຊືອກຜູກ
(ຕົວຢ່າງ {ມື້ວານນີ້}, {1 ເດືອນ 2 ອາທິດ 3 ວັນ 1 ຊົ່ວໂມງ 1 ຄັ້ງທີສອງ ກ່ອນໜ້ານີ້} or {1979-02-26
18:30:00}) ກໍານົດມູນຄ່າຂອງການອ້າງອີງຢູ່ໃນຈຸດກ່ອນເວລາ. ຄໍາຕໍ່ທ້າຍນີ້ອາດຈະ
ພຽງແຕ່ຖືກນໍາໃຊ້ທັນທີຫຼັງຈາກຊື່ ref ແລະ ref ຕ້ອງມີບັນທຶກທີ່ມີຢູ່ແລ້ວ
($GIT_DIR/ບັນທຶກ/). ໃຫ້ສັງເກດວ່ານີ້ຊອກຫາສະຖານະຂອງເຈົ້າ ທ້ອງຖິ່ນ ອ້າງອີງທີ່ໃຫ້
ເວລາ; ຕົວຢ່າງ: ສິ່ງທີ່ຢູ່ໃນທ້ອງຖິ່ນຂອງເຈົ້າ ຕົ້ນສະບັບ ສາຂາໃນອາທິດທີ່ຜ່ານມາ. ຖ້າທ່ານຕ້ອງການເບິ່ງ
ຄໍາຫມັ້ນສັນຍາທີ່ເຮັດໃນຊ່ວງເວລາທີ່ແນ່ນອນ, ເບິ່ງ -- ນັບຕັ້ງແຕ່ ແລະ -- ຈົນກ່ວາ.

@{ }, ຕົວຢ່າງ master@{1}
ອ້າງອີງຕາມດ້ວຍຄຳຕໍ່ທ້າຍ @ ໂດຍມີຂໍ້ກໍາຫນົດຕາມລໍາດັບທີ່ປິດຢູ່ໃນຄູ່ເຊືອກຜູກ
(ຕົວຢ່າງ {1}, {15}) ລະບຸຄ່າ n-th ກ່ອນຂອງເອກະສານອ້າງອີງນັ້ນ. ຍົກ​ຕົວ​ຢ່າງ master@{1}
ແມ່ນມູນຄ່າກ່ອນຫນ້າຂອງທັນທີ ຕົ້ນສະບັບ ໃນຂະນະທີ່ master@{5} ແມ່ນມູນຄ່າກ່ອນໜ້າທີ 5 ຂອງ
ຕົ້ນສະບັບ. ຄຳຕໍ່ທ້າຍນີ້ອາດຈະຖືກໃຊ້ທັນທີຫຼັງຈາກຊື່ອ້າງອີງ ແລະຄຳອ້າງອີງຕ້ອງ
ມີບັນທຶກທີ່ມີຢູ່ແລ້ວ ($GIT_DIR/ບັນທຶກ/).

@{ }, ຕົວຢ່າງ @{1}
ທ່ານສາມາດນໍາໃຊ້ໄດ້ @ ກໍ່ສ້າງດ້ວຍສ່ວນ ref ເປົ່າເພື່ອເຂົ້າໄປທີ່ reflog ຂອງ
ສາຂາປະຈຸບັນ. ຕົວຢ່າງ, ຖ້າທ່ານຢູ່ໃນສາຂາ blah ຫຼັງຈາກນັ້ນ @{1} ຫມາຍຄວາມວ່າຄືກັນກັບ
blabla@{1}.

@{- }, ຕົວຢ່າງ @{-1}
ການກໍ່ສ້າງ @{- } ຫມາຍ​ຄວາມ​ວ່າ​ th ສາຂາ / ຄໍາຫມັ້ນສັນຍາ checked ອອກກ່ອນທີ່ຈະປະຈຸບັນ
ຫນຶ່ງ.

@{upstream}, ຕົວຢ່າງ master@{upstream}, @{u}
ສ່ວນທີ່ເຫຼືອ @{upstream} ກັບຊື່ສາຂາ (ຮູບແບບສັ້ນ @{u}) refersາຍເຖິງ
ສາ​ຂາ​ທີ່​ສາ​ຂາ​ລະ​ບຸ​ໄວ້​ໂດຍ​ຊື່​ສາ​ຂາ​ຖືກ​ກໍາ​ນົດ​ໃຫ້​ສ້າງ​ຢູ່​ເທິງ​ຂອງ (configured
ກັບສາຂາ. .ໄລຍະໄກ ແລະສາຂາ. .merge). ຊື່ສາຂາທີ່ຂາດຫາຍໄປເປັນຄ່າເລີ່ມຕົ້ນຂອງ
ປະຈຸບັນ.

@{ຍູ້}, ຕົວຢ່າງ master@{push}, @{ຍູ້}
ສ່ວນທີ່ເຫຼືອ @{ຍູ້} ລາຍງານສາຂາ "ບ່ອນທີ່ພວກເຮົາຈະຍູ້ໄປ" ຖ້າ git push ຖືກແລ່ນ
ໃນຂະນະທີ່ຊື່ສາຂາຖືກກວດສອບ (ຫຼືປະຈຸບັນ HEAD ຖ້າບໍ່ລະບຸຊື່ສາຂາ).
ເນື່ອງຈາກຈຸດຫມາຍປາຍທາງຊຸກຍູ້ຂອງພວກເຮົາແມ່ນຢູ່ໃນບ່ອນເກັບມ້ຽນຫ່າງໄກສອກຫຼີກ, ແນ່ນອນ, ພວກເຮົາລາຍງານທ້ອງຖິ່ນ
ສາຂາການຕິດຕາມທີ່ກົງກັບສາຂານັ້ນ (ເຊັ່ນ, ບາງສິ່ງບາງຢ່າງໃນ ອ້າງອີງ/ໄລຍະໄກ/).

ນີ້ແມ່ນຕົວຢ່າງເພື່ອເຮັດໃຫ້ມັນຊັດເຈນຂຶ້ນ:

$ git config push.default ໃນປັດຈຸບັນ
$ git config remote.pushdefault myfork
$ git checkout -b mybranch origin/master

$ git rev-parse --symbolic-full-name @{upstream}
refs/remotes/origin/master

$ git rev-parse --symbolic-full-name @{push}
refs/remotes/myfork/mybranch

ໃຫ້ສັງເກດໃນຕົວຢ່າງທີ່ພວກເຮົາກໍານົດຂັ້ນຕອນການເຮັດວຽກສາມຫຼ່ຽມ, ບ່ອນທີ່ພວກເຮົາດຶງຈາກຫນຶ່ງ
ສະຖານທີ່ແລະຍູ້ໄປຫາບ່ອນອື່ນ. ໃນຂະບວນການເຮັດວຽກທີ່ບໍ່ແມ່ນຮູບສາມລ່ຽມ, @{ຍູ້} ແມ່ນຄືກັນກັບ
@{upstream}, ແລະບໍ່ຈໍາເປັນຕ້ອງມີມັນ.

^, ຕົວຢ່າງ ຫົວ^, v1.5.1^0
ຄຳຕໍ່ທ້າຍ ^ ກັບພາລາມິເຕີການດັດແກ້ຫມາຍຄວາມວ່າພໍ່ແມ່ທໍາອິດຂອງຈຸດປະສົງທີ່ຫມັ້ນສັນຍານັ້ນ. ^
ຫມາຍ​ຄວາມ​ວ່າ​ ພໍ່​ແມ່ (ie ^ ເທົ່າກັບ ^1). ຕາມກົດລະບຽບພິເສດ,
^0 ຫມາຍຄວາມວ່າຄໍາຫມັ້ນສັນຍາຕົວມັນເອງແລະຖືກນໍາໃຊ້ໃນເວລາທີ່ ແມ່ນຊື່ວັດຖຸຂອງແທັກ
ວັດຖຸທີ່ໝາຍເຖິງວັດຖຸທີ່ກະທຳ.

~, ຕົວຢ່າງ ແມ່ບົດ~3
ຄຳຕໍ່ທ້າຍ ~ ກັບຕົວກໍານົດການດັດແກ້ຫມາຍຄວາມວ່າວັດຖຸຄໍາຫມັ້ນສັນຍາທີ່ເປັນ ທ
ບັນພະບຸລຸດລຸ້ນຂອງວັດຖຸທີ່ຕັ້ງຊື່, ປະຕິບັດຕາມພຽງແຕ່ພໍ່ແມ່ທໍາອິດ. ຄື
~3 ເທົ່າກັບ ^^^ ເຊິ່ງທຽບເທົ່າກັບ ^1^1^1. ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບການ
ຮູບ​ພາບ​ການ​ນໍາ​ໃຊ້​ຮູບ​ແບບ​ນີ້​.

^{ }, ຕົວຢ່າງ v0.99.8^{commit}
ຄຳຕໍ່ທ້າຍ ^ ຕິດຕາມດ້ວຍຊື່ປະເພດວັດຖຸທີ່ຕິດຢູ່ໃນຄູ່ brace ຫມາຍຄວາມວ່າ dereference
ຈຸດ ປະ ສົງ ຢູ່ recursively ຈົນກ່ວາວັດຖຸຂອງປະເພດ ຖືກພົບເຫັນຫຼືວັດຖຸ
ບໍ່ສາມາດອ້າງອິງໄດ້ອີກຕໍ່ໄປ (ໃນກໍລະນີນີ້, barf). ຕົວຢ່າງ, ຖ້າ ເປັນ
ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​, ^{commit} ອະທິບາຍວັດຖຸທີ່ສອດຄ້ອງກັນ. ເຊັ່ນດຽວກັນ, ຖ້າ
ເປັນຕົ້ນໄມ້, ^{ຕົ້ນໄມ້} ອະທິບາຍວັດຖຸຕົ້ນໄມ້ທີ່ສອດຄ້ອງກັນ. ^0 is
ມືສັ້ນສໍາລັບ ^{commit}.

rev^{object} ສາມາດຖືກນໍາໃຊ້ເພື່ອໃຫ້ແນ່ໃຈວ່າ ຕັ້ງຊື່ວັດຖຸທີ່ມີຢູ່, ໂດຍບໍ່ມີການ
ຕ້ອງການ ເປັນໂຄດຄໍາສັ່ງ, ແລະໂດຍບໍ່ມີການ deferencing ; ເນື່ອງຈາກວ່າແທັກແມ່ນແລ້ວ
ວັດຖຸ, ມັນບໍ່ຈໍາເປັນຕ້ອງ dereferenced ເຖິງແມ່ນວ່າຫນຶ່ງຄັ້ງເພື່ອໄປຫາວັດຖຸ.

rev^{tag} ສາມາດຖືກນໍາໃຊ້ເພື່ອຮັບປະກັນວ່າ ລະບຸວັດຖຸແທັກທີ່ມີຢູ່ແລ້ວ.

^{}, ຕົວຢ່າງ v0.99.8^{}
ຄຳຕໍ່ທ້າຍ ^ ຕິດຕາມດ້ວຍຄູ່ brace ຫວ່າງເປົ່າຫມາຍຄວາມວ່າວັດຖຸສາມາດເປັນແທັກ, ແລະ
dereference tag recursively ຈົນກ່ວາຈະພົບເຫັນວັດຖຸທີ່ບໍ່ແມ່ນແທັກ.

^{/ }, ຕົວຢ່າງ HEAD^{/{/ແກ້ໄຂ nasty ບັກ}
ຄຳຕໍ່ທ້າຍ ^ ຕໍ່ກັບພາລາມິເຕີການດັດແກ້, ຕິດຕາມດ້ວຍຄູ່ brace ທີ່ມີຂໍ້ຄວາມນໍາພາ
ໂດຍ slash ເປັນ, ແມ່ນຄືກັນກັບ :/ ແກ້ໄຂ nasty bug syntax ຂ້າງລຸ່ມນີ້ຍົກເວັ້ນວ່າມັນສົ່ງຄືນ
ຄໍາຫມັ້ນສັນຍາການຈັບຄູ່ທີ່ນ້ອຍທີ່ສຸດແມ່ນສາມາດບັນລຸໄດ້ຈາກ ກ່ອນທີ່ຈະ ^.

:/, ຕົວຢ່າງ :/ ແກ້ໄຂ nasty bug
ຈໍ້າສອງເມັດ, ຕາມດ້ວຍເຄື່ອງໝາຍຂີດ, ຕາມດ້ວຍຂໍ້ຄວາມ, ຕັ້ງຊື່ຄຳໝັ້ນສັນຍາທີ່ຂໍ້ຄວາມທີ່ເຮັດ
ກົງກັບການສະແດງຜົນປົກກະຕິທີ່ລະບຸໄວ້. ຊື່ນີ້ສົ່ງຄືນການຈັບຄູ່ທີ່ນ້ອຍທີ່ສຸດ
ຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກການອ້າງອີງໃດໆ. ຖ້າຂໍ້ຄວາມສັນຍາເລີ່ມຕົ້ນດ້ວຍ a ! ທ່ານ
ຕ້ອງເຮັດຊ້ຳ; ລໍາດັບພິເສດ :/!, ປະຕິບັດຕາມໂດຍບາງສິ່ງບາງຢ່າງອື່ນກ່ວາ !, ເປັນ
ສະຫງວນໄວ້ໃນປັດຈຸບັນ. ການສະແດງຜົນປົກກະຕິສາມາດກົງກັບພາກສ່ວນໃດນຶ່ງຂອງຂໍ້ຄວາມສັນຍາ. ເຖິງ
ຈັບຄູ່ຂໍ້ຄວາມເລີ່ມຕົ້ນດ້ວຍ string, ຫນຶ່ງສາມາດໃຊ້ eg :/^ ຟູ.

:, ຕົວຢ່າງ ຫົວ: ອ່ານ, :README, ແມ່ບົດ:./README
ຄຳຕໍ່ທ້າຍ : ຕິດຕາມດ້ວຍເສັ້ນທາງທີ່ຕັ້ງຊື່ blob ຫຼືຕົ້ນໄມ້ຢູ່ໃນເສັ້ນທາງທີ່ລະບຸໄວ້ໃນ tree-ish
ວັດຖຸທີ່ຕັ້ງຊື່ໂດຍພາກສ່ວນກ່ອນຈໍ້າສອງເມັດ. :ເສັ້ນທາງ (ມີສ່ວນຫວ່າງກ່ອນ
colon) ເປັນກໍລະນີພິເສດຂອງ syntax ທີ່ອະທິບາຍຕໍ່ໄປ: ເນື້ອຫາທີ່ບັນທຶກໄວ້ໃນດັດຊະນີ
ຢູ່​ໃນ​ເສັ້ນ​ທາງ​ທີ່​ໄດ້​ຮັບ​. ເສັ້ນທາງເລີ່ມຕົ້ນດ້ວຍ ./ or ../ ແມ່ນກ່ຽວຂ້ອງກັບການເຮັດວຽກໃນປະຈຸບັນ
ໄດເລກະທໍລີ. ເສັ້ນທາງທີ່ມອບໃຫ້ຈະຖືກປ່ຽນເປັນພີ່ນ້ອງກັບຮາກຂອງຕົ້ນໄມ້ທີ່ເຮັດວຽກ
ໄດເລກະທໍລີ. ນີ້ແມ່ນເປັນປະໂຫຍດທີ່ສຸດທີ່ຈະແກ້ໄຂ blob ຫຼືຕົ້ນໄມ້ຈາກຄໍາຫມັ້ນສັນຍາຫຼືຕົ້ນໄມ້ທີ່
ມີໂຄງສ້າງຕົ້ນໄມ້ດຽວກັນກັບຕົ້ນໄມ້ທີ່ເຮັດວຽກ.

: :, ຕົວຢ່າງ :0:ອ່ານ, :README
ຈໍ້າສອງເມັດ, ເລືອກຕາມດ້ວຍເລກຂັ້ນ (0 ຫາ 3) ແລະ ຈໍ້າເມັດ, ຕາມດ້ວຍ a
ເສັ້ນທາງ, ຕັ້ງຊື່ວັດຖຸ blob ໃນດັດຊະນີຢູ່ໃນເສັ້ນທາງທີ່ໃຫ້. ໝາຍເລກຂັ້ນຕອນທີ່ຂາດຫາຍໄປ (ແລະ
ຈໍ້າສອງເມັດທີ່ຕິດຕາມມັນ) ຕັ້ງຊື່ຂັ້ນຕອນ 0 ເຂົ້າ. ໃນ​ລະ​ຫວ່າງ​ການ​ລວມ​, ຂັ້ນ​ຕອນ​ທີ 1 ແມ່ນ​
ບັນພະບຸລຸດທົ່ວໄປ, ຂັ້ນຕອນທີ 2 ແມ່ນຮຸ່ນຂອງສາຂາເປົ້າຫມາຍ (ໂດຍປົກກະຕິໃນປະຈຸບັນ
ສາຂາ), ແລະຂັ້ນຕອນທີ 3 ແມ່ນສະບັບຈາກສາຂາທີ່ກໍາລັງຖືກລວມເຂົ້າກັນ.

ນີ້ແມ່ນຕົວຢ່າງ, ໂດຍ Jon Loeliger. ທັງສອງ commit nodes B ແລະ C ແມ່ນພໍ່ແມ່ຂອງຄໍາຫມັ້ນສັນຍາ
node A. Parent commits ຖືກຈັດຮຽງຈາກຊ້າຍຫາຂວາ.

GHIJ
\ / \ /
DEF
\ | / \
\ | / |
\|/ |
ກ່ອນຄ. ສ
\ /
\ /
A

A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
I = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2

ລະບຸ ຫາຍາກ


ຄໍາສັ່ງປະຫວັດສາດ traversing ເຊັ່ນ git log ດໍາເນີນການກ່ຽວກັບຊຸດຂອງ commits, ບໍ່ພຽງແຕ່ຫນຶ່ງດຽວ
ຄໍາຫມັ້ນສັນຍາ. ຕໍ່ກັບຄໍາສັ່ງເຫຼົ່ານີ້, ການລະບຸການດັດແກ້ດຽວກັບ notation ອະທິບາຍຢູ່ໃນ
ພາກສ່ວນທີ່ຜ່ານມາຫມາຍເຖິງຊຸດຂອງຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກຄໍາຫມັ້ນສັນຍານັ້ນ, ປະຕິບັດຕາມຄໍາຫມັ້ນສັນຍາ
ລະບົບຕ່ອງໂສ້ບັນພະບຸລຸດ.

ເພື່ອຍົກເວັ້ນຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກຄໍາຫມັ້ນສັນຍາ, ຄໍານໍາຫນ້າ ^ ຫມາຍເຫດຖືກນໍາໃຊ້. ຕົວຢ່າງ ^r1 r2 ວິທີການ
ຄໍາຫມັ້ນສັນຍາສາມາດບັນລຸໄດ້ຈາກ r2 ແຕ່ຍົກເວັ້ນສິ່ງທີ່ສາມາດເຂົ້າຫາໄດ້ຈາກ r1.

ການປະຕິບັດຊຸດນີ້ປະກົດຂຶ້ນເລື້ອຍໆວ່າມີ shorthand ສໍາລັບມັນ. ໃນເວລາທີ່ທ່ານມີສອງ
ສັນຍາ r1 ແລະ r2 (ຊື່ຕາມໄວຍະກອນທີ່ອະທິບາຍໄວ້ໃນບົດວິຈານສະເພາະຂ້າງເທິງ),
ທ່ານສາມາດຮ້ອງຂໍໃຫ້ຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກ r2 ຍົກເວັ້ນສິ່ງທີ່ສາມາດບັນລຸໄດ້
r1 ໂດຍ ^r1 r2 ແລະມັນສາມາດຂຽນເປັນ r1..r2.

ຫມາຍເຫດທີ່ຄ້າຍຄືກັນ r1...r2 ເອີ້ນວ່າຄວາມແຕກຕ່າງ symmetric ຂອງ r1 ແລະ r2 ແລະຖືກກໍານົດເປັນ
r1 r2 --ບໍ່ $(git ລວມຖານ --ທັງໝົດ r1 r2). ມັນແມ່ນຊຸດຂອງຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້
ຈາກ​ຫນຶ່ງ​ໃນ​ r1 or r2 ແຕ່ບໍ່ແມ່ນມາຈາກທັງສອງ.

ໃນສອງ shorthands ເຫຼົ່ານີ້, ທ່ານສາມາດຍົກເລີກຫນຶ່ງທ້າຍແລະປ່ອຍໃຫ້ມັນເປັນຄ່າເລີ່ມຕົ້ນຂອງ HEAD. ຍົກ​ຕົວ​ຢ່າງ,
ຕົ້ນ​ກໍາ​ເນີດ.. ແມ່ນສັ້ນ ສຳ ລັບ ທີ່ມາ..HEAD ແລະ​ຖາມ​ວ່າ, “ຂ້ອຍ​ໄດ້​ເຮັດ​ຫຍັງ​ນັບ​ຕັ້ງ​ແຕ່​ຂ້າ​ພະ​ເຈົ້າ​ໄດ້ forked ຈາກ
ສາຂາຕົ້ນກໍາເນີດ?” ເຊັ່ນດຽວກັນ, ..ຕົ້ນກໍາເນີດ ແມ່ນສັ້ນ ສຳ ລັບ HEAD..ຕົ້ນກຳເນີດ ແລະ​ຖາມ​ວ່າ: “ໄດ້​ຫຍັງ
ຕົ້ນກໍາເນີດມາຕັ້ງແຕ່ຂ້ອຍແຍກອອກຈາກພວກມັນບໍ?” ໃຫ້ສັງເກດວ່າ .. ຈະຫມາຍຄວາມວ່າ ຫົວ..ຫົວ ເຊິ່ງແມ່ນຫວ່າງເປົ່າ
ໄລຍະທີ່ທັງເຂົ້າເຖິງໄດ້ ແລະບໍ່ສາມາດເຂົ້າຫາໄດ້ຈາກ HEAD.

ນາມສະກຸນອື່ນອີກສອງອັນສຳລັບການຕັ້ງຊື່ຊຸດທີ່ສ້າງຂຶ້ນໂດຍຄຳໝັ້ນສັນຍາ ແລະ ພໍ່ແມ່ຂອງມັນແມ່ນຄຳໝັ້ນສັນຍາ.
ມີຢູ່. ໄດ້ r1^@ notation ຫມາຍ ຄວາມ ວ່າ ພໍ່ ແມ່ ທັງ ຫມົດ ຂອງ r1. r1^! ປະ​ກອບ​ມີ​ຄໍາ​ຫມັ້ນ​ສັນ​ຍາ​ r1 ແຕ່ຍົກເວັ້ນທັງໝົດ
ຂອງ​ພໍ່​ແມ່​ຂອງ​ຕົນ​.

ເພື່ອສະຫຼຸບ:


ລວມເອົາຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກ (ເຊັ່ນ: ບັນພະບຸລຸດຂອງ) .

^
ຍົກເວັ້ນຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກ (ເຊັ່ນ: ບັນພະບຸລຸດຂອງ) .

..
ລວມເອົາຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກ ແຕ່ຍົກເວັ້ນຜູ້ທີ່ສາມາດບັນລຸໄດ້
ຈາກ . ເມື່ອໃດ ຫຼື ຖືກລະເວັ້ນ, ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນ HEAD.

...
ລວມເອົາຄໍາຫມັ້ນສັນຍາທີ່ສາມາດບັນລຸໄດ້ຈາກທັງສອງ ຫຼື ແຕ່ຍົກເວັ້ນສິ່ງນັ້ນ
ແມ່ນສາມາດບັນລຸໄດ້ຈາກທັງສອງ. ເມື່ອໃດ ຫຼື ຖືກລະເວັ້ນ, ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນ HEAD.

^@, ຕົວຢ່າງ ຫົວ^@
ຄຳຕໍ່ທ້າຍ ^ ປະ​ຕິ​ບັດ​ຕາມ​ດ້ວຍ​ເຄື່ອງ​ຫມາຍ​ແມ່ນ​ຄື​ກັນ​ກັບ​ລາຍ​ຊື່​ພໍ່​ແມ່​ທັງ​ຫມົດ​ຂອງ​
(ຫມາຍຄວາມວ່າ, ປະກອບມີສິ່ງທີ່ສາມາດບັນລຸໄດ້ຈາກພໍ່ແມ່, ແຕ່ບໍ່ແມ່ນຄໍາຫມັ້ນສັນຍາຂອງມັນເອງ).

^!, ຕົວຢ່າງ ຫົວ^!
ຄຳຕໍ່ທ້າຍ ^ ປະຕິບັດຕາມດ້ວຍເຄື່ອງຫມາຍ exclamation ແມ່ນຄືກັນກັບການໃຫ້ຄໍາຫມັ້ນສັນຍາ ແລະຫຼັງຈາກນັ້ນ
ພໍ່ແມ່ທັງໝົດຂອງມັນນຳໜ້າດ້ວຍ ^ ເພື່ອຍົກເວັ້ນພວກເຂົາ (ແລະບັນພະບຸລຸດຂອງພວກເຂົາ).

ນີ້ແມ່ນຕົວຢ່າງຈຳນວນໜຶ່ງ:

DGHD
DFGHIJDF
^GDHD
^DBEIJFB
B..CC
B...CGHDEBC
^DBCEIJFBC
CIJFC
C^@ IJF
C^! ຄ
F^! DGHDF

parSEOPT


ໃນ --parseopt mode, ໄປ rev-parse ຊ່ວຍໃຫ້ທາງເລືອກໃນການນວດເພື່ອນໍາເອົາສະຄິບຂອງແກະ
ສິ່ງອໍານວຍຄວາມສະດວກດຽວກັນ C buildins ມີ. ມັນ​ເຮັດ​ວຽກ​ເປັນ normalizer ທາງ​ເລືອກ (eg splits ດຽວ​
ສະຫຼັບຄ່າລວມ), ຄ້າຍຄື getopt(1) ເຮັດ.

ມັນ​ໃຊ້​ເວ​ລາ​ໃນ​ມາດ​ຕະ​ຖານ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ສະ​ເພາະ​ຂອງ​ທາງ​ເລືອກ​ໃນ​ການ​ແຍກ​ແລະ​ເຂົ້າ​ໃຈ​,
ແລະ echoes ກ່ຽວກັບຜົນຜະລິດມາດຕະຖານ string ທີ່ເຫມາະສົມສໍາລັບ sh(1) eval ເພື່ອທົດແທນການ
ການໂຕ້ຖຽງກັບຄົນປົກກະຕິ. ໃນ​ກໍ​ລະ​ນີ​ຂອງ​ຄວາມ​ຜິດ​ພາດ​, ມັນ outputs ການ​ນໍາ​ໃຊ້​ກ່ຽວ​ກັບ​ຄວາມ​ຜິດ​ພາດ​ມາດ​ຕະ​ຖານ​
stream, ແລະອອກດ້ວຍລະຫັດ 129.

ຫມາຍເຫດ: ໃຫ້ແນ່ໃຈວ່າທ່ານອ້າງເຖິງຜົນໄດ້ຮັບໃນເວລາທີ່ຜ່ານມັນໄປຫາ eval. ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບຕົວຢ່າງ.

ການປ້ອນຂໍ້ມູນ ຮູບແບບ
ໄປ rev-parse --parseopt ຮູບແບບການປ້ອນຂໍ້ມູນແມ່ນອີງໃສ່ຂໍ້ຄວາມເຕັມ. ມັນມີສອງພາກສ່ວນ, ແຍກອອກໂດຍ
ເສັ້ນທີ່ປະກອບດ້ວຍພຽງແຕ່ --. ເສັ້ນກ່ອນຕົວແຍກ (ຄວນຈະເປັນຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ) ແມ່ນ
ໃຊ້ສໍາລັບການນໍາໃຊ້. ສາຍຫຼັງຈາກຕົວແຍກອະທິບາຍທາງເລືອກ.

ແຕ່ລະແຖວຂອງຕົວເລືອກມີຮູບແບບນີ້:

* ? SP+ ຊ່ວຍ LF


ຮູບແບບຂອງມັນແມ່ນຕົວອັກສອນທາງເລືອກສັ້ນ, ຫຼັງຈາກນັ້ນຊື່ທາງເລືອກຍາວທີ່ແຍກອອກໂດຍ a
ເຄື່ອງໝາຍຈຸດ. ທັງສອງພາກສ່ວນແມ່ນບໍ່ຈໍາເປັນ, ເຖິງແມ່ນວ່າຢ່າງຫນ້ອຍຫນຶ່ງແມ່ນມີຄວາມຈໍາເປັນ. ອາດຈະບໍ່ມີ
ໃດໆຂອງ ຕົວອັກສອນ. h,help, dry-run ແລະ f ແມ່ນຕົວຢ່າງທີ່ຖືກຕ້ອງ
.


ແມ່ນຂອງ *, =, ? ຫຼື !.

·ໃຊ້ = ຖ້າທາງເລືອກໃຊ້ເວລາການໂຕ້ຖຽງ.

· ໃຊ້ ? ເພື່ອຫມາຍຄວາມວ່າທາງເລືອກໃຊ້ເວລາການໂຕ້ຖຽງທາງເລືອກ. ທ່ານອາດຈະຕ້ອງການ
ໃຊ້ໂໝດ --stuck-long ເພື່ອໃຫ້ສາມາດແຍກວິເຄາະການໂຕ້ແຍ້ງທາງເລືອກໄດ້ຢ່າງບໍ່ຊັດເຈນ.

· ການ​ນໍາ​ໃຊ້ * ເພື່ອ​ຫມາຍ​ຄວາມ​ວ່າ​ທາງ​ເລືອກ​ນີ້​ບໍ່​ຄວນ​ຈະ​ຖືກ​ລະ​ບຸ​ໄວ້​ໃນ​ການ​ນໍາ​ໃຊ້​ທີ່​ສ້າງ​ສໍາ​ລັບ​ການ​
-h ການໂຕ້ຖຽງ. ມັນສະແດງສໍາລັບ --help-all ຕາມທີ່ບັນທຶກໄວ້ໃນ gitcli(7).

· ໃຊ້ ! ເພື່ອບໍ່ໃຫ້ທາງເລືອກຍາວລົບທີ່ສອດຄ້ອງກັນສາມາດໃຊ້ໄດ້.


, ຖ້າລະບຸ, ຖືກນໍາໃຊ້ເປັນຊື່ຂອງ argument ໃນຜົນໄດ້ຮັບການຊ່ວຍເຫຼືອ, ສໍາລັບ
ທາງເລືອກທີ່ເອົາການໂຕ້ຖຽງ. ຖືກຢຸດໂດຍຊ່ອງຫວ່າງທໍາອິດ. ມັນ​ແມ່ນ
ປະເພນີທີ່ຈະໃຊ້ dash ເພື່ອແຍກຄໍາສັບຕ່າງໆໃນຄໍາແນະນໍາການໂຕ້ຖຽງຫຼາຍຄໍາ.

ສ່ວນທີ່ເຫຼືອຂອງເສັ້ນ, ຫຼັງຈາກລອກເອົາຊ່ອງຫວ່າງ, ຖືກນໍາໃຊ້ເປັນການຊ່ວຍເຫຼືອທີ່ກ່ຽວຂ້ອງກັບ
ທາງເລືອກ.

ເສັ້ນຫວ່າງຖືກລະເລີຍ, ແລະເສັ້ນທີ່ບໍ່ກົງກັບຂໍ້ກໍານົດນີ້ຖືກນໍາໃຊ້ເປັນທາງເລືອກ
ສ່ວນຫົວກຸ່ມ (ເລີ່ມເສັ້ນດ້ວຍຊ່ອງຫວ່າງເພື່ອສ້າງເສັ້ນດັ່ງກ່າວຕາມຈຸດປະສົງ).

ຍົກຕົວຢ່າງ
OPTS_SPEC="\
ບາງຄໍາສັ່ງ [ທາງເລືອກ] ...

some-command ບໍ່ foo ແລະ bar!
--
h​, ຊ່ວຍ​ສະ​ແດງ​ໃຫ້​ເຫັນ​ການ​ຊ່ວຍ​ເຫຼືອ​

foo ບາງທາງເລືອກ nifty --foo
bar = ບາງທາງເລືອກເຢັນ --bar ທີ່ມີການໂຕ້ຖຽງ
baz=arg ທາງເລືອກທີ່ເຢັນອີກອັນ --baz ທີ່ມີຊື່ argument
qux?path qux ອາດຈະໃຊ້ argument ເສັ້ນທາງ ແຕ່ມີຄວາມໝາຍຂອງມັນເອງ

ສ່ວນຫົວກຸ່ມທາງເລືອກ
ຄ? ທາງເລືອກ C ດ້ວຍການໂຕ້ຖຽງທາງເລືອກ"

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"

ການນໍາໃຊ້ ຂໍ້ຄວາມ
ເມື່ອ "$@" ແມ່ນ -h ຫຼື --help ໃນຕົວຢ່າງຂ້າງເທິງ, ຂໍ້ຄວາມການນໍາໃຊ້ຕໍ່ໄປນີ້ຈະຖືກສະແດງ:

ການນໍາໃຊ້: ບາງຄໍາສັ່ງ [ທາງເລືອກ] ...

some-command ບໍ່ foo ແລະ bar!

-h, --help ສະແດງການຊ່ວຍເຫຼືອ
--foo ບາງທາງເລືອກທີ່ດີ --foo
--bar ... ບາງທາງເລືອກທີ່ເຢັນ --bar ທີ່ມີການໂຕ້ຖຽງ
--baz ທາງເລືອກທີ່ເຢັນອີກອັນຫນຶ່ງ --baz ທີ່ມີການໂຕ້ຖຽງທີ່ມີຊື່
--qux[= ] qux ອາດຈະໃຊ້ເວລາການໂຕ້ຖຽງເສັ້ນທາງແຕ່ມີຄວາມຫມາຍໂດຍຕົວມັນເອງ

ສ່ວນຫົວກຸ່ມທາງເລືອກ
-C[...] option C ດ້ວຍການໂຕ້ຖຽງທາງເລືອກ

SQ-QUOTE


ໃນຮູບແບບ --sq-quote, ໄປ rev-parse echoes ສຸດຜົນຜະລິດມາດຕະຖານເສັ້ນດຽວທີ່ເຫມາະສົມສໍາລັບການ
sh(1) eval. ເສັ້ນນີ້ແມ່ນເຮັດໂດຍການເຮັດໃຫ້ການໂຕ້ຖຽງປົກກະຕິຕໍ່ໄປນີ້ --sq-quote. ບໍ່ມີຫຍັງ
ນອກເຫນືອຈາກການອ້າງເຖິງການໂຕ້ຖຽງແມ່ນເຮັດແລ້ວ.

ຖ້າທ່ານຕ້ອງການການປ້ອນຄໍາສັ່ງໃຫ້ຍັງຖືກຕີຄວາມເປັນປົກກະຕິໂດຍ ໄປ rev-parse ກ່ອນທີ່ຈະໄດ້
ຜົນຜະລິດແມ່ນ shell quoted, ເບິ່ງທາງເລືອກ --sq.

ຍົກຕົວຢ່າງ
$ cat >your-git-script.sh <<\EOF
#!/ ຖັງ / sh
args=$(git rev-parse --sq-quote "$@") # quote arguments ທີ່ຜູ້ໃຊ້ສະໜອງໃຫ້
command="git frotz -n24 $args" # ແລະໃຊ້ມັນພາຍໃນເຄື່ອງຫັດຖະກໍາ
# ຄໍາສັ່ງ
eval "$ ຄໍາສັ່ງ"
EOF

$sh your-git-script.sh "a b'c"

ຕົວຢ່າງ


·ພິມຊື່ວັດຖຸຂອງສັນຍາປະຈຸບັນ:

$ git rev-parse --verify HEAD

· ພິມຊື່ວັດຖຸທີ່ເຮັດຈາກການແກ້ໄຂໃນຕົວແປ $REV shell:

$ git rev-parse --verify $REV^{commit}

ນີ້ຈະເກີດຄວາມຜິດພາດຫາກ $REV ຫວ່າງເປົ່າ ຫຼືບໍ່ແມ່ນການແກ້ໄຂທີ່ຖືກຕ້ອງ.

·ຄ້າຍຄືກັນກັບຂ້າງເທິງ:

$ git rev-parse --default master --verify $REV

ແຕ່ຖ້າ $REV ຫວ່າງເປົ່າ, commit object name from master ຈະຖືກພິມ.

GIT


ສ່ວນຫນຶ່ງຂອງ ໄປ(1) ຊຸດ

ໃຊ້ git-rev-parse ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    Alt-F
    Alt-F
    Alt-F ສະໜອງແຫຼ່ງທີ່ມາຟຣີ ແລະເປີດ
    ເຟີມແວທາງເລືອກສໍາລັບ DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F ມີ Samba ແລະ NFS;
    ຮອງຮັບ ext2/3/4...
    ດາວໂຫລດ Alt-F
  • 2
    usm
    usm
    Usm ແມ່ນຊຸດ slackware ເປັນເອກະພາບ
    ຜູ້ຈັດການທີ່ຈັດການອັດຕະໂນມັດ
    ການແກ້ໄຂການເພິ່ງພາອາໄສ. ມັນຮວມກັນ
    repositories ຊຸດຕ່າງໆລວມທັງ
    ຂີ້ຄ້ານ, ຂີ້ຄ້ານ, ປ...
    ດາວໂຫລດ usm
  • 3
    Chart.js
    Chart.js
    Chart.js ແມ່ນຫ້ອງສະຫມຸດ Javascript ທີ່
    ອະນຸຍາດໃຫ້ນັກອອກແບບແລະນັກພັດທະນາແຕ້ມ
    ຕາຕະລາງທຸກປະເພດໂດຍໃຊ້ HTML5
    ອົງປະກອບຜ້າໃບ. ຕາຕະລາງ js ສະເຫນີທີ່ດີເລີດ
    array ...
    ດາວໂຫລດ Chart.js
  • 4
    i Report-Designer ສຳ ລັບ JasperReports
    i Report-Designer ສຳ ລັບ JasperReports
    ໝາຍເຫດ: iReport/Jaspersoft Studio Support
    ປະກາດ: ເປັນສະບັບ 5.5.0,
    Jaspersoft Studio ຈະເປັນທາງການ
    ລູກຄ້າອອກແບບສໍາລັບ JasperReports. iReport
    ຈະ ...
    ດາວໂຫລດ iReport-Designer ສໍາລັບ JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF ຈະຕິດຕັ້ງທັງໝົດ
    ຊອບແວທີ່ Fedora Linux ແລະອື່ນໆ
    ບໍ່ລວມເອົາຕາມຄ່າເລີ່ມຕົ້ນ, ຫຼັງຈາກ
    ແລ່ນ Fedora ເປັນຄັ້ງທໍາອິດ. ຂອງມັນ
    ງ່າຍ​ສໍາ​ລັບ ...
    ດາວໂຫລດ PostInstallerF
  • 6
    ສາຍແຮ່
    ສາຍແຮ່
    ໂຄງການເສັ້ນທາງໄດ້ຖືກຍ້າຍໄປ
    https://strace.io. strace is a
    ການວິນິດໄສ, debugging ແລະຄໍາແນະນໍາ
    userspace tracer ສໍາລັບ Linux. ມັນຖືກນໍາໃຊ້
    ຕິດ​ຕາມ​ກວດ​ກາ ...
    ດາວ​ໂຫຼດ​ຕິດ​ຕາມ​
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad