3

私はオフィスでは「バックアップ担当者」として知られています。開発者として、私はプロジェクト間を行き来することがよくあります。その結果、プロジェクトに戻ったときに、それぞれにどのような変更があったかを常に正確に覚えているとは限りません。私は通常、ローカルの変更とソース管理システムの変更を比較する必要があります。そうすれば、最終的にはすべてを覚えることになります。物事は、私はいつもこれをする贅沢を持っているわけではありません。クライアント用に何かをすばやく作成する必要がある場合があるため、作業ディレクトリのバックアップを作成します。そうすることで、ソース管理から最新のファイルを取得し、DLLをすばやく作成できます。進捗状況)変更は安全です。

問題は、各プロジェクトディレクトリに多数のバックアップフォルダが蓄積されているため、探していた特定の変更を見つけるのが難しくなっていることです。私の慣習は、各バックアップフォルダに有益な名前を付けるのに常に時間をかけるように進化しましたが、自分のツールを作成したほうがよいと思い始めています。

例:Windowsエクスプローラーでいくつかのフォルダーを選択した場合、独自のバックアップアプリケーションをトリガーする独自のコンテキストメニュー項目が必要です。このアプリケーションは、バックアップ名と説明の入力を求めます。次に、選択したフォルダを特定の集中バックアップディレクトリに移動します。ここで、バックアップの詳細の概要を示す「readme.txt」ファイルも生成されます。また、バックアップも日付/時刻ごとに整理されます。これにより、バックアップ手順が改善され、将来の検索が容易になると思います。

しかし、それでも、そのようなツールがすでに存在するのではないかと思わずにはいられません。確かに、バックアップに関しては、誰かが私と同じくらい執着しているに違いありません。

バックアップを改善するのに役立つツールを知っていますか?

私はこの投稿を知っていますが、私が望むものと正確に一致していません。バックアップを同じマシンに保持したいのですが、他のマシンへのバックアップは自分で処理します。

アップデート

明確にするために:タスクAで作業していて、突然クライアント用に何かを構築する必要がある場合(タスクB)、タスクAでこれまでに持っていたものをバックアップし、ソース管理から作業ディレクトリに最新のものを取得する必要があります。次に、タスクBを開始して終了し、タスクAを復元します。これは理想的で適切なシナリオです。しかし、場合によっては、タスクAに戻るのは1週間後、またはそれ以上になります。タスクC、タスクDなどに見舞われたためです。これらはすべて同じプロジェクトに影響します。さて、これらの変更がチェックインされる予定の場合は、進行中にチェックインすることでおそらくメリットがあります(ただし、正直なところ、この会社では、チェックインする前に、通常、変更が完了するまで待機します。つまり、未完成のコードのチェックイン)。したがって、各バックアップがブランチと等しくなるかどうかはわかりません。バックアップが多すぎる場合があるためです。

4

9 に答える 9

10

必要なのは、gitなどの分散バージョン管理システムだと思います。

于 2008-12-05T15:57:12.737 に答える
6

まず、既存のソース管理システムは、ブランチの形でこれをすでにサポートしている可能性があります。作業ディレクトリを単にコピーするのではなく、別のブランチとしてコミットします。このブランチでは、そのクライアントのバージョンのアプリケーションを保持できます。

ただし、skipHoppyが述べたように、分散ソース管理システムの方がはるかに適しています。私はBazaarがとても好きですが、gitも非常に人気があります(ただし、主にLinuxカーネル用に開発された* nixツールであるため、Windowsのサポートがどれほど優れているかはわかりません)。

于 2008-12-05T16:01:04.227 に答える
3

TortoiseSVNを使用するSubversionは、この機能を提供します。概念が異なります (「バックアップ名」ではなく、リビジョン) 。あなたが言及したreadme.txtは、Subversionログにまとめられています。あなたが提供するコメントは、リビジョンを見ている他の人を導くために使用できます。Subversion とTortoiseSVNをダウンロードするには、ホームページだけでなく、Wikipedia のページも参照してください。

于 2008-12-05T16:04:14.720 に答える
1

働き方を変えてみませんか、このままだといつか大変なことになりそうですね。変更の途中で dll をビルドする必要があり、進行中の作業をバックアップする必要がある場合は十分ですが、リリースが完了したら、すぐに変更をリリース バージョンに再統合します。同じアプリを複数バックアップすることは絶対に許しませんが、それは私だけです。

于 2008-12-05T16:19:21.210 に答える
1

CloneZilla は、ハード ドライブのパーティション全体を無料で信頼性の高い方法でバックアップします。Acronis Echo Server の代わりに使用しており、システム全体を 8 分で復元できます。

于 2008-12-05T16:16:08.533 に答える
1

skiphoppy が言うように、DSVN は本当に役に立ちます。Git には、作業中の作業を棚上げする機能があるため、作業コピーはクリーンでありながら、作業が完了したら現在の作業セットを棚から引き出すことができます。それはあなたが本当に望んでいることのようです。

Perforce を使用している場合は、これを行う tar ベースのユーティリティもいくつかありますが、私はまだ使用していません。

于 2008-12-05T16:17:54.553 に答える
1

ハイブリッド バックアップwww.hybridbackup.com.auを使用していますの上。少し費用がかかりますが、ビジネスは他のほとんどの人からのデータであり、確信しています。

とにかく、素晴らしいバックアップシステムが必要であることを指摘しようとしているだけなので、最初からそれらについて心配する必要はありません.

于 2011-11-17T05:39:44.083 に答える
0

毎晩チェックインするのはかなり合理的な方法だと思います。1 日に 3 ~ 4 回チェックインすることもあれば、20 回チェックインすることもあります (実際には、コードが機能しているたびに)。

コードが常にチェックインされている場合、何もバックアップせずに別のブランチに簡単に同期できるはずです。

その日の終わりまでに変更をチェックインできない場合、非常に合理的な答えは変更を破棄することです。おそらく、穴から抜け出すのに苦労するでしょう。次の日には、同じ作業を 1 時間で繰り返し、最初に行った作業よりもはるかに優れた作業を行うことができます。また、壊れたコードを長時間使用する場合、どのようにテストしますか?

最後に、コードを毎日ビルドにチェックインできない場合 (前の段落で述べたことに関係なく、状況によっては実際に発生します)、分岐します。

もうバックアップはありません。

于 2008-12-05T17:22:40.460 に答える
-2

私が使う:

ドキュメントと小さなファイル(写真、ビデオ、大きなファイル)のZenOKオンラインバックアップ

大好きです。

于 2011-01-21T21:04:13.540 に答える