我对git有疑问,我试图克隆一棵树,但没有成功。
git clone https://github.com/cer/event-sourcing-examples/tree/d2077e21aa677a00095f90250470ff011c132ab8/java-spring
Run Code Online (Sandbox Code Playgroud)
我克隆了这个项目
git clone https://github.com/cer/event-sourcing-examples
Run Code Online (Sandbox Code Playgroud)
我试图切换到那棵树,但没有效果
您有什么建议吗?
最好的祝福
小智 7
检查以下内容是否有帮助。我在这里使用 GIT bash。
克隆存储库。
git clone https://github.com/cer/event-sourcing-examples.git
输入该目录
cd event-sourcing-examples/
切换分支(我假设树指的是分支)
git checkout wip-vagrantwip-vagrant 是一个分支名称
要获取更新,您必须发出拉取命令。
git pull
如果您直接想克隆分支,请按照上面评论(Micheal)中的说明进行操作。
Git无法直接克隆树。您需要克隆整个存储库,然后签出使用所需树的提交。但是,为了减少混乱,请注意,“树”和“提交”之间有区别:
您只能签出提交。很少Git命令与树对象(直接处理git cat-file,并git ls-tree作为例外之间)。但是,GitHub URL中的对象ID确实是提交的ID,所以这不是问题。
然后,您可以做的就是在克隆存储库之后将所需的提交检入新分支:
git checkout -b test-branch d2077e21
Run Code Online (Sandbox Code Playgroud)
如果您要解决的问题只是从远程存储库中获取单个提交(或树),那么您就不走运了,因为Git的远程协议不支持该操作。如果有的话,如果您可以在所需的提交中将分支插入远程存储库,则可以直接克隆该分支,而无需任何历史记录:
git clone -b test-branch --depth 1 https://github.com/cer/event-sourcing-examples
Run Code Online (Sandbox Code Playgroud)
但是,如果您不能做到这一点,那么您仍然不走运。远程协议仅允许引用命名的引用,而不允许任意提交。
| 归档时间: |
|
| 查看次数: |
4732 次 |
| 最近记录: |