多くのプログラマーと同じように、私は突然「光を見て」自分のコードで大手術をする「インスピレーション」に定期的に適応しがちです。通常、これはうまくいきますが、睡眠やカフェインの欠如や問題の理解の不完全さのために、私は非常に愚かなことをやっています。リポジトリにコミットせずに無限の「元に戻すスタック」を取得しますか?
これが発生した場合、次の手順は損傷を元に戻すことです。最も簡単には、私のエディタで元に戻すスタックを意味します...私はいつかファイルを閉じない限り。バージョン管理は次のものですが、私が最新のコミット(私は慣れていないコードをコミットしないでください)とインスピレーションの瞬間の間で変更を加えた場合、それらは失われます。リポジトリにはないので、コードは決して存在しませんでした。
私はこのことについて心配する必要がないように私の仕事環境を設定したいと思いますが、私は完全に満足のいく解決法を思いついたことはありません。理想的には:
- ファイルを保存するたびに新しい回復可能なバージョンが作成されます。
- これらの「自動保存された」バージョンでは、メインリポジトリが混乱することはありません。
- "自動保存"バージョンは、非常に迅速にブラウズできるように、ローカルに存在する必要があります。 3秒の処理時間を持つリポジトリは、何百ものリビジョンをすばやくスキャンしようとするときには実行されません。
オプション私が考えられてきました:
- ただ、コードが破損する可能性があっても、大きな変更を行う前にメインリポジトリにコミットします。短所:「インスパイアされた」とき、私は一般的にこれのための心の存在を持っていません。ビルドを壊す
- 自動バージョン管理が有効になっている、ローカルにホストされたSubversionリポジトリ。「Webフォルダ」としてマウントされています。短所:他のリポジトリの作業コピーではうまくいきません。 Windowsに適切なWebDAVフォルダをマウントするのは気になるところです。
- 以前の方法と同じですが、代わりにメインリポジトリのブランチを使用し、通常は手動でコミットするたびにトランクにマージします。短所:ホストされているすべてのリポジトリで自動バージョン管理を有効にできるわけではありません。上記のポイント2と3を満たしていません。トランクからブランチまで安全に逆引きマージできません。
- DVCSに切り替えて、私の小さなコミットをすべて「結合」します。短所:DVCSの最初のことはわかりません。 Subversionは唯一のツールです。私は上記のポイント1を満たす方法を知らない。
- 作業コピーをバージョン管理されたファイルシステムに格納します。短所:これはWindows用ですか?もしそうなら、Googleは私に道を見せてくれなかった。
私が欲しいものを手に入れられるツールやツールの組み合わせを知っている人はいますか?あるいは、私は矛盾した要求を持って自分自身を立てたのですか? (どの私はむしろ強く疑う。)
更新:より密接なツールを検討した後、私はすでに使用(ため息)、それは私のtext editorは満たしている非常に素敵なマルチバックアップ機能を持っていることが判明し、私のほとんど完璧に必要です。 「隠し」フォルダにすべてのバックアップを保存するオプション(VCSのグローバル無視に追加できる)だけでなく、エディタでブラウズやバックアップとの比較を行うこともできます。
問題を解決しました。アドバイス、ありがとう!ありがとう!
あなたが使用しているエディタについて言及していないことに気付いただけで、誰かが指摘できるように、エディタにはよりエレガントなオプションが組み込まれている可能性があります。 –
EditPad Proはマルチバックアップシステムを備えていますが、ファイルシステムをバックアップしてしまいます。私はそれが私のためにどれほどうまくいくかを見るために今、試乗をしています。 –