SVNを使用すると、サーバー上に1つの大きなリポジトリを保持し、数台のマシンでチェックアウトしました。これは非常に優れたバックアップシステムで、どのマシンでも簡単に作業できました。特定のプロジェクトをチェックアウトしてコミットし、「マスター」プロジェクトを更新したり、すべてをチェックアウトしたりできます。
今、私はさまざまなプロジェクトのためにたくさんのgitリポジトリを持っています。そのいくつかはgithubにあります。また、git-svnコマンドでインポートした前述のSVNリポジトリも持っています。
基本的に、私はすべてのコード(プロジェクトだけでなく、ランダムなスニペットやスクリプト、私のCV、私が書いた記事、私が作成したWebサイトなど)を、リモートに簡単に複製できる1つの大きなリポジトリに置くのが好きですマシン、またはバックアップとしてのメモリースティック/ハードドライブ。
問題は、それがプライベートリポジトリであり、gitが特定のフォルダーのチェックアウトを許可していないためです(これを個別のプロジェクトとしてgithubにプッシュできますが、変更はマスターリポジトリとサブリポジトリの両方に表示されます)リポジトリ)
私はgitサブモジュールシステムを使用できましたが、それも私が望むようには動作しません(サブモジュールは他のリポジトリへのポインターであり、実際のコードが実際には含まれていないため、バックアップには役に立ちません)。
現在、git-reposのフォルダー(たとえば、〜/ code_projects / proj1 / .git /〜/ code_projects / proj2 / .git /)があり、proj1に変更を加えた後git push github
、ファイルを〜/にコピーしますDocuments / code / python / projects / proj1 /そして、単一のコミットを実行します(個々のリポジトリの多数のコミットの代わりに)。次にgit push backupdrive1
、git push mymemorystick
など
それで、質問:あなたの個人的なコードとプロジェクトをgitリポジトリでどのようにして、それらを同期してバックアップしておくのですか?