完全なリポジトリを、できれば単一のファイル エンティティとして、ネットワークに接続されていない新しいマシンに転送する必要があります。Git バンドルを使用すると、git fetch
スニーカーgit pull
ネット環境で スタイルの操作が可能になりますが、宛先マシンにリポジトリの作業バージョンが既にあることを前提としているようです。
以下の正しい呼び出しは何ですか?
- バンドル全て現在のリポジトリのブランチ
- 宛先ディレクトリで新しいリポジトリを起動します。つまり、ルートコミットを正しくインストールします。
明確にするためにアップストリームにパッチを送りました:
`git clone` can use any bundle created without negative refspecs
(e.g., `new`, but not `old..new`).
If you want to match `git clone --mirror`, which would clone other
refs such as `refs/remotes/*`, use `--all`.
If you want to provide the same set of refs that a clone directly
from the source repository would get, use `--branches --tags` for
the `<git-rev-list-args>`.
したがって、$ git bundle create repo.bundle --branches --tags
クローン作成が最適です。
$ git bundle create repo.bundle --all
リモート参照を含むソース マシンのミラー イメージを提供します。
ベストアンサー1
以下の正しい呼び出しは何ですか?
- 現在のリポジトリ内のすべてのブランチをバンドルする
単純:
$ git bundle create repo.bundle --all
repo.bundle
作成するバンドル ファイルの名前を次に示します。--all
通常のクローンと同様に、リモート追跡ブランチは含まれないことに注意してください。
- 宛先ディレクトリで新しいリポジトリを起動します。つまり、ルートコミットを正しくインストールします。
まず、clone
単にinit
+ fetch
(+ administrativia) です。
次に、リポジトリ URL を使用できる場所であればどこでもバンドル ファイルを使用できるため、clone
バンドル ファイルから次のように簡単に実行できます。
$ git clone repo.bundle
これrepo
により、git リポジトリが作成されます。