[解決済み] リポジトリのバックアップは "git push --mirror" で十分ですか?
質問
私は一人の開発者で、ローカルの Git リポジトリで作業しています。バックアップのために、そのリポジトリの正確なコピーを別のサーバーに送りたいのです。
このようなことを行うには十分でしょうか?
git push --mirror
このコマンドを2~3回実行すると、Gitが "Everything up-to-date" と表示するので、どうやら完全なミラーではないらしいということで質問しています。トラッキングブランチを再プッシュしているようなのですが...?
$ git push --mirror
Counting objects: 42, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (30/30), done.
Writing objects: 100% (30/30), 5.09 KiB, done.
Total 30 (delta 17), reused 0 (delta 0)
To ssh://my/repo/url
c094a10..0eedc92 mybranch -> mybranch
$ git push --mirror
Total 0 (delta 0), reused 0 (delta 0)
To ssh://my/repo/url
c094a10..0eedc92 origin/mybranch -> origin/mybranch
$ git push --mirror
Everything up-to-date
何が起きているのか、これは良い戦略なのか?
編集:私は、次のようなものを使うのは好きではありません。
git bundle
または
.tar.bz2
アーカイブにアクセスできる作業コピーでありたいからです。私のバックアップサーバーはネットに接続されていて、常にオンになっているので、これは私が外出中にリポジトリにアクセスするための良い方法です。
どのように解決するのですか?
これは、リポジトリのバックアップを取るための戦略として、全く問題ないと言えるでしょう。リポジトリ内のすべての参照に対して、オリジン・リモートへのプッシュを実行する必要があります。これはローカルリポジトリの完全な「ミラー」になります。
EDIT: 質問中のあなたの更新された説明を見ました。gitはリモートのrefを他のすべてと一緒にリモート自身にプッシュしているようです。プッシュが完了すると、リモートの参照はあなたがプッシュしたことを反映するように更新されます。このとき、リモートのリポジトリは更新されていないため、さらにプッシュする必要があります。これで満足できない場合は このリモート参照を削除するには
git push :origin/mybranch
を実行し
git push --all
ただし、この方法では新しく作成したブランチはプッシュされないことを覚えておいてください。
関連
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み】GitHub: クローンには成功したが、チェックアウトに失敗した
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] すべてのブランチをpullおよびpushするようにgitを設定する
-
[解決済み】GITリポジトリをあるサーバーから新しいサーバーに移行する方法
-
[解決済み】git stashをリモートリポジトリにプッシュすることは可能ですか?
-
[解決済み] ローカルのGitリポジトリをバックアップするには?