59

github でリモート リポジトリのクローンを作成しようとしていますが、サイズが大きく、接続が十分に安定していないように見えるため、正常にクローンできません。

しかし、リポジトリの .zip を正常にダウンロードできました。

git clone で作成されたこの zip を使用して、プッシュ、プルなどを行う方法はありますか?

4

5 に答える 5

40

ここの関連記事では、.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
    
  • HEAD をリセットしてステータスをクリーンアップする

    $ 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.
    
于 2015-08-03T06:49:26.597 に答える
16

リポジトリ (ディレクトリを含む) をダウンロードした場合は、.git非常に簡単です。

  • リポジトリを解凍します

    $ unzip repo.zip
    
  • remoteクローンURIを指すようにリポジトリに構成します

    $ cd repo
    $ git init
    $ git remote add origin https://github.com/user/repo.git
    
  • リポジトリを再同期する

    $ git pull
    

実際には、github からの「zip」ダウンロードにはディレクトリが含まれていない.gitように見えるため、これは役に立ちません :-(

おそらく最善の策は、アクセスが安定しているマシンでクローンを作成し、.git ディレクトリを圧縮して、何らかの方法でフェッチすることです....

于 2013-03-28T12:49:31.730 に答える
13

受け入れられた答えはそのトリックを行いますが、これはもう少し簡単に思えます。

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 ユーザー名とリポジトリ名に置き換えてください ;)

于 2016-08-12T02:38:21.743 に答える
3

クローン作成に代わる唯一のzip のような方法は「バンドル」を交換することですが、残念ながら github はバンドルの作成/ダウンロードを提供していません。

github からダウンロード可能な zip アーカイブは、リポジトリ履歴 (通常はブランチの先端) の 1 つの特定のコミットのスナップショットに過ぎず、履歴は含まれていません — この機能は、コード ベースのユーザーに自動的に提供することを目的としています (開発者ではありません!) プロジェクトのソース コードのスナップショットを簡単にダウンロードする方法があります。単なるユーザーや、オペレーティング システム用にソフトウェアをパッケージ化するダウンストリーム メンテナーは、通常、履歴全体を複製するのではなく、tarball を使用して作業することに注意してください。

つまり、zip アーカイブのダウンロードはgit archive、リモート側で実行して結果のファイルを渡すのと同じように機能します。

また、github (およびその他の Git ホスティング プロバイダー) でホストされているリポジトリは「ベア」であることに注意してください。つまり、「.git」サブディレクトリが含まれていません。

いずれにせよ、これを解決する唯一の方法は、高速で信頼できるリンクを見つけて、それを使用して最初のダウンロードを行うことです。

ただし、完全な履歴がなくても問題ない場合は、状況が変わることに注意してください。次に、「--depth」コマンドライン パラメータを に渡すことで、いわゆる「浅いクローン作成」を使用できますgit clone

于 2013-03-29T16:29:13.710 に答える