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リポジトリでどのように行い、それらを同期してバックアップし続けるのですか?