[解決済み] 完全なレポをgitでバンドルする方法
2022-05-11 15:08:39
質問
私は、ネットワークに接続されていない新しいマシンに、できれば単一のファイルとして、完全なレポを転送する必要があります。git バンドルでは
git fetch
,
git pull
のようなスタイルの操作を sneakernet 環境で行うことができますが、転送先のマシンにすでに作業バージョンのリポジトリがあることを想定しているようです。
への正しい呼び出しは何でしょうか。
- バンドル すべて 現在のレポのブランチ
- インストール先のディレクトリで新しいレポを起動する、つまりルートコミットが正しくインストールされるようにする
明確にするためにパッチをアップストリームに送りました。
`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
は、リモート参照を含むソースマシンのミラーイメージを提供します。
どのように解決するのですか?
正しい呼び出しは何ですか。
- 現在のレポのすべてのブランチをバンドルします。
シンプルですね。
$ git bundle create repo.bundle --all
ここで
repo.bundle
は作成したいバンドルファイルの名前です。 なお
--all
はリモート追跡ブランチを含まないことに注意してください...ちょうど普通の clone がそうでないのと同じです。
- インストール先のディレクトリで新しいレポを起動する、つまり、ルートコミットを正しくインストールする。
まず
clone
は単に
init
+
fetch
(+ administrativia)です。
次に、リポジトリ URL が使えるところならどこでも bundle ファイルを使うことができるので、単純に
clone
をバンドルファイルから呼び出すことができます。
$ git clone repo.bundle
これは
repo
を git リポジトリとして作成します。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】マージ後のコミットでGitエラー - fatal: マージ中に部分コミットができない
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] ssh-keygen' は内部コマンドまたは外部コマンドとして認識されません。
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] Git作者不明
-
[解決済み] git リポジトリを完全にバックアップしますか?