Câu hỏi
Các ví dụ cụ thể về commit-ish và tree-ish trong Git là gì?
Câu hỏi Stack Overflow "Tree-ish nghĩa là gì trong git?" giao dịch cụ thể với tree-ish, nhưng tôi muốn hiểu thêm về cả hai .
Lý lịch
Tập quán trong Tài liệu
Tài liệu Git đưa ra một số tham chiếu đến "commit-ish" và "tree-ish". Ví dụ: nếu bạn đang kiểm tra mã nguồn Git :
$ git grep --files-with-matches --extended-regexp "commit(-)*ish"
config.txt
git-describe.txt
git-fast-import.txt
git-name-rev.txt
git-push.txt
git-rebase.txt
git-rev-parse.txt
git.txt
gitcli.txt
glossary-content.txt
howto/revert-branch-rebase.txt
revisions.txt
và
$ git grep --files-with-matches --extended-regexp "tree(-)*ish" | \
$ grep --invert-match RelNotes
diff-format.txt
diff-generate-patch.txt
git-archive.txt
git-cat-file.txt
git-checkout.txt
git-diff-index.txt
git-diff-tree.txt
git-ls-files.txt
git-ls-tree.txt
git-merge-tree.txt
git-read-tree.txt
git-reset.txt
git-svn.txt
git.txt
gitcli.txt
gittutorial-2.txt
glossary-content.txt
revisions.txt
Định nghĩa
Tài liệu Git định nghĩa "commit-ish" và "tree-ish" là gì :
<tree>
Cho biết tên đối tượng cây.
<commit>
Cho biết tên đối tượng cam kết.
<tree-ish>
Cho biết một cây, cam kết hoặc tên đối tượng gắn thẻ Một lệnh có
<tree-ish>
đối số cuối cùng muốn hoạt động trên một<tree>
đối tượng nhưng tự động bỏ qua các tham chiếu<commit>
và<tag>
các đối tượng trỏ đến<tree>
.<commit-ish>
Cho biết tên đối tượng cam kết hoặc thẻ. Một lệnh có
<commit-ish>
đối số cuối cùng muốn hoạt động trên một<commit>
đối tượng nhưng tự động bỏ tham chiếu đến<tag>
các đối tượng trỏ đến<commit>
.
Tài liệu không đủ rõ ràng
Mặc dù tài liệu ở trên định nghĩa "commit-ish" và "tree-ish" là gì, tôi vẫn thấy nó quá mơ hồ và không rõ ràng.
Các ví dụ cụ thể về "commit-ish" và "tree-ish" là gì, và chúng khác nhau như thế nào?
stash@{0}
. Tôi muốn biết nơi nào phù hợp với tất cả những điều này. Có những thứ khác giống như stash (my-thing@{0}
) không? Có phải kho chỉ là một<refname>
?