相关疑难解决方法(0)

如何克隆具有特定版本/变更集的git存储库?

如何克隆具有特定修订版的git存储库,就像我在Mercurial中通常所做的那样:

hg clone -r 3 /path/to/repository
Run Code Online (Sandbox Code Playgroud)

git revision git-clone

363
推荐指数
10
解决办法
43万
查看次数

git shallow clone(clone --depth)错过了远程分支

克隆远程存储库后,它不会通过-a选项显示任何远程分支.可能是什么问题呢?怎么调试呢?在此片段中,未显示两个远程分支:

$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
$ cd pythonwebkit
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
$ git --version
git version 1.8.3.1
Run Code Online (Sandbox Code Playgroud)

在另一台机器上尝试相同的命令,它运作良好:

$ git clone --depth 1 git://git.savannah.gnu.org/pythonwebkit.git
Receiving objects: 100% (186886/186886), 818.91 MiB | 3.44 MiB/s, done.
$ cd pythonwebkit/
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/debian
  remotes/origin/master
  remotes/origin/python_codegen
$ git --version
git version 1.7.1
Run Code Online (Sandbox Code Playgroud)

尝试克隆另一个回购,它运作良好.虽然我可以在这台机器上再试一次,但最好知道什么是错的.

任何建议或提示都将受到欢迎.

编辑:答案摘要:从git版本1.8.3.2开始,需要同时使用"--depth"和"--no-single-branch"来获得与以前相同的行为.这被视为错误修复.

git branch shallow-clone

76
推荐指数
3
解决办法
4万
查看次数

Git通过哈希获取特定提交

例如,Git允许从任何给定的远程和引用中获取

git fetch <remote-url> <reference>
Run Code Online (Sandbox Code Playgroud)

因此,无需添加遥控器或创建分支即可获得提交的提交.

但是,这仅适用于引用,例如分支名称或标记,但不适用于特定哈希,因此不能直接在任何地方引用.

有没有办法从远程获取特定的提交?

git

17
推荐指数
3
解决办法
6181
查看次数

标签 统计

git ×3

branch ×1

git-clone ×1

revision ×1

shallow-clone ×1