リモートGitリポジトリのローカルコピーなしでワークスペースをバックアップします。

リモートGitリポジトリのローカルコピーなしでワークスペースをバックアップします。

オンラインで利用可能なGitリポジトリのすべてのコンテンツをバックアップせずにワークスペースをバックアップしたいです。

そのため、各フォルダのファイルをバックアップすればよいと思いました.git/config。したがって、バックアップからアイテムを復元するには、そのフォルダに移動して現在の状態をインポートするだけです。

プロジェクトを復元するにはどのファイルをバックアップする必要がありますか?

(完全なルーチンは、自分のローカルにあるすべてのファイルがリモートでプッシュされていることを確認し、ローカルの変更が見つかったらファイルをバックアップすることです。)

答え1

そのため、各フォルダのファイルをバックアップすればよいと思いました.git/config。したがって、バックアップからアイテムを復元するには、そのフォルダに移動して現在の状態をインポートするだけです。

十分ではありません。また、少なくとも次のものをバックアップする必要があります。

  • ローカルで実行されたがまだリモートリポジトリにプッシュされていないすべてのコミット
  • まだ準備またはコミットされていない作業ディレクトリまたはインデックスのファイル
  • すべてのGitストア

git bundleこれを使用して目標を達成できます。たとえば、

  1. インデックス内のすべての項目と作業ディレクトリ内のすべての汚れた項目を一時ブランチにコミットします。
  2. すべての店舗を実地点に切り替える
  3. これを実行してください:

    git bundle create /tmp/foo $(git branch -r $(git branch -r | awk '{ print $1 }')
    

今バックアップ/tmp/fooしてください.git/config

これは自動的に行われず、何も見逃さないという保証もありません。実際にこれを行うことはお勧めできません。

または表示Gitリポジトリを浅いリポジトリに変換しますか?これはあなたが探しているものに近いかもしれません。

関連情報