主要观点:通过特定语法git clone --depth 1 --branch <BRANCH_OR_TAG> <REMOTE_URL>
可克隆现有分支和标签的单个提交(无历史),但不能克隆任意提交,不过可利用git init
、git remote add
、git fetch
和git checkout
组合的技巧来克隆。以在 Linux Bash 终端中克隆[commit 9c6d51b71caeb1e773cabf4ad9ded9bd6e142229](https://github.com/hartwork/git-delete-merged-branches/commit/9c6d51b71caeb1e773cabf4ad9ded9bd6e142229)
为例,具体步骤为:先跳转到空临时目录,创建空 Git 仓库,添加目标仓库为远程“origin”,获取单个提交及所需的所有树和 Blob,检出刚获取的提交。此想法源于 GitHub Action actions/checkout
。
关键信息:介绍了克隆单个提交的方法及相关命令,包括创建临时目录、初始化仓库、添加远程、获取提交和检出等操作,还提及灵感来源。
重要细节:使用--depth 1
获取单个提交,--branch
指定分支或标签,git init -c init.defaultbranch=main
创建无警告的空仓库,git remote add origin
添加远程仓库,git fetch --depth 1
获取指定提交,git checkout FETCH_HEAD
检出提交。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。