Git中commit-ish和tree-ish的具体示例是什么?
Stack Overflow问题"git中树是什么意思?" 特别是涉及树,但我想更多地了解这两者.
Git文档对"commit-ish"和"tree-ish"进行了多次引用.例如,如果您正在检查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
Run Code Online (Sandbox Code Playgroud)
和
$ 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
Run Code Online (Sandbox Code Playgroud)
Git文档定义了"commit-ish"和"tree-ish"是什么:
Run Code Online (Sandbox Code Playgroud)<tree>表示树对象名称.
Run Code Online (Sandbox Code Playgroud)<commit>表示提交对象名称.
Run Code Online (Sandbox Code Playgroud)<tree-ish>表示树,提交或标记对象名称.采用一个的命令
<tree-ish>参数最终想要一个上操作<tree>对象,但自动取消引用<commit>和<tag> …
我想知道我们/他们的策略是否有任何樱桃采摘方式.换句话说,我想通过以下命令从dev分支中选择多个提交到主分支,
git cherry-pick HASH1 HASH2 HASH3 -n
Run Code Online (Sandbox Code Playgroud)
如果没有冲突,此命令应该接受所有引用的提交并准备未分级的更改.但是,如果发生冲突,我需要解决并继续挑选.对于所有冲突,我的意图是在开发中选择任何东西(这意味着--strategy-option = ours).
樱桃采摘时有没有办法提供这样的选择.