recherche

Maison  >  Questions et réponses  >  le corps du texte

`git clone --depth=1` 之后怎样获取完整仓库?

只拿到了一个分支一个 commit, 再运行 fetch 也拿不到其他的分支和 commits 了.
尝试了 git fetch --all git fetch origin 无效.
用什么命令来获取完整的仓库呢?


更新:

搜到一段文章说不能继续... 不知道是不是真的:
http://strk.keybit.net/blog/2011/06/07/getting-just-the-tip-of-a-remote-git-branch/

A shallow repository (one with short history) cannot be further cloned,

巴扎黑巴扎黑2799 Il y a quelques jours1092

répondre à tous(5)je répondrai

  • ringa_lee

    ringa_lee2017-04-24 09:15:04

    Référez-vous aux réponses de @Leedy et @Evian et constatez qu'il y a un paramètre unshallow :

    git fetch --help
    
    
    --unshallow
               Convert a shallow repository to a complete one, removing all the limitations imposed by shallow repositories.
    

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-24 09:15:04

    (Avez-vous résolu le problème dans les commentaires ?)

    $ git version
    git version 1.8.5.3
    
    $ git help clone
    ...
           --depth <depth>
               Create a shallow clone with a history truncated to the specified
               number of revisions. A shallow repository has a number of
               limitations (you cannot clone or fetch from it, nor push from nor
               into it), but is adequate if you are only interested in the recent
               history of a large project with a long history, and would want to
               send in fixes as patches.
    ...
    

    On peut voir que git Shallow Clone ne peut cloner que la structure de répertoires du Remote/HEAD actuel, à l'exclusion de l'historique, ce n'est donc pas un dépôt complet.

    Cependant, Git 1.9/2.0 a supprimé cette limitation, voir https://github.com/git/git/commit/82fba2b9d39163a0c9b7a3a2f35964cbc039e1a.

    Référence : http://stackoverflow.com/questions/6941889/is-git-clone-degree-1-shallow-clone-more-useful-than-it-makes-out

    répondre
    0
  • PHPz

    PHPz2017-04-24 09:15:04

    $ git fetch --help
    

    --profondeur=<profondeur>

    Approfondissez ou raccourcissez l'historique d'un référentiel superficiel créé par git clone avec l'option --degree= (voir git-clone(1)) jusqu'au nombre spécifié de commits à partir de la pointe de chaque historique de branche distante. Les balises pour les commits approfondis ne sont pas récupérées.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-24 09:15:04

    git fetch --profondeur=1000000

    J'ai vu une solution sur stackoverflow, mais elle ne fonctionnait toujours pas après l'avoir essayée.
    http://stackoverflow.com/questions/6802145/convert-shallow-clone-to-full-clone

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:15:04

    git pull --unshallow

    répondre
    0
  • Annulerrépondre