Как клонировать репозиторий git из его zip

Я пытаюсь клонировать удаленный репозиторий на github, но он большой, и мое соединение не кажется достаточно стабильным, поэтому я не могу клонировать его успешно.

но я успешно скачал .zip хранилища.

есть ли способ использовать этот zip, поскольку он был создан git clone, поэтому я могу нажимать,тянуть и т. д..?

4 ответов


поста здесь предоставляет информацию, необходимую для захвата .git каталог и упростить ответ, что umläute указано:

  • возьмите .git каталог путем клонирования голого репозитория

    $ mkdir repo
    $ git clone --bare http://github/user/repo repo
    
  • сделать .git каталог и переместить клонированные файлы

    $ mkdir repo/.git
    $ mv repo/* repo/.git
    
  • распаковать хранилище

    $ unzip repo.zip
    
  • повторно инициализировать репозиторий

    $ cd repo
    $ git init
    
  • убедитесь, что вы синхронизированным

    $ git pull
    
  • сбросить голову, чтобы очистить статус

    $ git reset HEAD
    
  • вот журнал для РЕПО ... местоположение РЕПО -http://github.com/udacity/fullstack-nanodegree-vm

    $ git log
    commit ebcbda650bc81d7f4856f5314a0689cea5b43086
    Merge: 574774b b5b787e
    Author: Karl Krueger <karl@udacity.com>
    Date:   Tue Apr 7 11:39:54 2015 -0700`
    
            Merge pull request #3 from pmallory/sharedDirAlert
    
            Add a login alert to explain how to access Vagrant's shared directory
    
    commit b5b787efdb1ecec0c3c9c7f9c0fd4732f984fcb3
    Author: Philip Mallory <philip@udacity.com>
    Date:   Mon Apr 6 15:40:32 2015 -0700`
    
           move the alert into the motd
    
    commit b8012f33c86b0d19fc4c2b972af092e88d00978f
    Author: Philip Mallory <philip@udacity.com>
    Date:   Mon Apr 6 14:32:01 2015 -0700`
    
           Add a login alert to explain how to access Vagrant's shared directory
    
    commit 574774ba29ccd661154431d5600240f090440c37
    Author: Lorenzo Brown <lorenzo@udacity.com>
    Date:   Wed Mar 11 14:08:02 2015 -0700`
    
           Update pg_config.sh
    
           Added installs for Auth&Auth
    
    commit 88fc5537b1a0017a1d76af4587a22412473809a4
    Author: Lorenzo Brown <lorenzo@udacity.com>
    Date:   Wed Mar 4 13:00:25 2015 -0800`
    
           Update and rename vagrant to vagrant/catalog/README.txt
    
    commit f978cdc14c62b7295d8da1a95452faaa1bd108b8
    Author: Lorenzo Brown <lorenzo@udacity.com>
    Date:   Wed Feb 4 11:06:03 2015 -0800`
    
           Update Vagrantfile
    
           switched to port forwarding on 8080
    
    commit d6a3a26578ef3c6d01d28abca76d817938892c7f
    Author: Lorenzo Brown <lorenzo@udacity.com>
    Date:   Tue Feb 3 14:52:34 2015 -0800`
    
           Update Vagrantfile
    
           Added:
    
           config.vm.network "forwarded_port", guest: 80, host: 8080
           config.vm.network "forwarded_port", guest: 5000, host: 5000
    
           FSF uses these two ports for lessons 2 & 3 respectively.
    
    commit 752a79e408c7328ef7f1766d1b97bb468ffed90a
    Author: Mike Wales <michael.wales@udacity.com>
    Date:   Mon Feb 2 11:21:29 2015 -0800`
    
           Removed .vagrant directory
    
    commit 5af9d19adf9ab19b1d886f6cc78e556f864b42dd
    Author: Mike Wales <michael.wales@udacity.com>
    Date:   Mon Feb 2 11:16:45 2015 -0800`
    
           Initial commit.
    

если вы загрузили репозиторий (включая.git dir), это довольно просто.

  • распакуйте репозиторий

    $ unzip repo.zip
    
  • настройка remote в вашем репозитории, который указывает на URI клона

    $ cd repo
    $ git init
    $ git remote add origin https://github.com/user/repo.git
    
  • синхронизировать репозитории

    $ git pull
    

на практике кажется, что" zip " скачать с github не содержат , так что это не поможет :-(

вероятно, лучше всего сделать клон на машине, которая имеет стабильный доступ, а затем zip.git directory и получить это как-то....


в то время как принятый ответ делает трюк, это кажется немного более прямым.

unzip <repo>.zip
cd <repo>
git init
git add .
git remote add origin https://github.com/<user>/<repo>.git
git remote update
git checkout master

просто убедитесь, что заменить <user> & <repo> С вашим именем пользователя github и вашим именем РЕПО;)


только zip как альтернативой клонированию является обмен "связки", но я боюсь, что github не предлагает создание / загрузку пакетов.

zip-архив, загружаемый из github, - это всего лишь снимок одной конкретной фиксации истории вашего репозитория (обычно это кончик ветки), и он не содержит никакой истории - это средство предназначено для автоматического предоставления пользователям вашей базы кода (не разработчикам!) с способом удобно загрузите снимок исходного кода проекта. Обратите внимание, что простые пользователи и, скажем, нижестоящие сопровождающие, упаковывающие ваше программное обеспечение для операционных систем, обычно не клонируют целые истории, а работают с tarballs.

другими словами, загрузка zip-архива работает как запуск git archive на удаленной стороне, а затем передает вам полученный файл.

также обратите внимание, что репозитории, размещенные на github (и других хостинг-провайдерах Git), являются "голыми", то есть они не содержать ".ГИТ" поддиректории.

в любом случае, кажется, что ваш единственный способ решить эту проблему-найти быструю и надежную ссылку и сделать первоначальную загрузку с ее помощью.

но обратите внимание, что все меняется если вы в порядке с не имея полной истории. Затем вы можете использовать так называемое "мелкое клонирование", передав параметр командной строки" --depth " в git clone.