以前のバージョンのファイルをすべて、ある種の「自動コミット」で保存できるソフトウェアが必要です。githubなどのリモートサーバーは使いたくない。
私は、試行錯誤しながらすべてをやろうとする初心者プログラマーの1人です。しかし、時々、ソースコードの変更は物事をさらに台無しにし、私はソースの古いバージョンに戻る必要があります。今日はさらに悪化しました。私の懸命に働いたコードは、電源障害の後、nullバイトで完全にいっぱいになりました。
答えは問題です。SVN(または別のSCM)をインストールします。
そして、あなたがコミットしていない何かに戻る必要がある場合に備えて、少なくとも日食には地元の歴史があります。他のIDEについては知りません。
ローカルで動作するバージョン管理システムはたくさんあります。たとえば、Gitは完全に自己完結型です。履歴をリモートサーバーにプッシュすることはできますが、そうする必要はありません。Mercurialについても同じことが言えます。SubversionやCVSでも、ローカルのファイルベースのリポジトリを使用できますが、これらを使用すると、作業ディレクトリとは別の場所にそのリポジトリを作成するという追加の手順があります。
本当に古い学校であるRCSとSCCSには、サーバーの概念がまったくありません。:)
サーバーベースのSCMシステムに対するOPの反対意見が何であるかはわかりません。リモートバックアップは良いことであり、無料で入手できます。しかし、ほとんどのSCMシステムは、完全に1つのボックスに収められて正常に動作します。
「自動」コミットに関する限り、保存するたびにコミットするようにIDEを構成できます。これは、IDEの外部にあるものよりも、N分ごとなどにファイルを自動的に保存するよりも便利なようです。
リモートサーバーは必要ありません。まともなSCMを使用するだけです。Subversionは、作業コピーの外部にリポジトリを設定する必要があるため、おそらく最善の策ではありません。これは不便な場合があります。その上、その開発でいくつかの悪い設計上の決定がなされ、これは苛立たしく混乱する状況につながる可能性があります。
あなたが窓にいると仮定すると、私は水銀をお勧めします-それは簡単で、自己完結型で、学びやすく、クロスプラットフォームで、そして無料です(両方の意味で)。基本的には.hg
、プロジェクトのルートディレクトリ内に名前が付けられた隠しディレクトリを作成し、プロジェクトの完全な履歴を保持します。スナップショットを作成するタイミングを積極的に伝える必要がありますが、これは非常に単純で簡単です。ナンセンスな紹介については、http://hginit.com/をチェックしてください。
他の選択肢はgitです。Mercurialよりも用途が広く、わずかに高速ですが、Windowsポートは少し孤立した子であり、そのコミュニティは初心者向けではありません。
まあ、私は確かに「通常の」SCMを使用することをお勧めしますが、あなたはそれに反対しているので、単なる古いウィンドウのバックアップはどうですか?BitBucketを使用する場合は、分散システムであるMercurialを選択して、プッシュするまでリポジトリのローカルのみのコピーを保持できます。
もう1つのオプションは、コマンドラインスクリプトを使用して、X分ごとにSVNやMercurialなどのSCMにコミットすることです。
Mercurial / BitBucketコマンド:
hg commit -m "Auto Committed"
それをバッチファイルに貼り付け、スケジューラーを使用して間隔を置いて実行します。
ツールと戦わないでください...
プログラミングを開始して同様のことをしたいと思ったとき、コンピューターでDropboxを使用し、プロジェクトフォルダーをDropboxに配置しました。ドロップボックスにファイルを保存するたびに、そのファイルはサーバーに自動的に送信され、サイトで各保存を表示して、ダウンロード/以前のバージョンに戻すことができます。シンプルで簡単、ソース管理システムのすべての追加機能について心配する必要はありません。生徒の場合、コンピューターにSVNがない学校での作業が簡単になります。