現在、プログラマーはソース コード管理をコードのパケットの統合と考えていますが、これらのパケットを小さくして継続的に統合しないのはなぜでしょうか?
DVCS はすでに基本的にこれを行っていると言えます。分散化されているからではなく、コミットが非常に高速だからです.. git を使用すると、SVN よりもはるかに頻繁にコミットできます.. また、「チャンク」または特定のコミットが簡単になりますコードの (git add -i
またはを使用してgit gui
) であり、一般に、完全なファイルではなく、コード行の追跡にはるかに重点を置いています (Subversion のような「従来の」VCS として)。
また、あなたが言ったように、gitが本質的に機能する方法は、「変更はもちろん「チェックインされていない」として保存される」ことを意味します..コミットすると、変更はローカルであり、別の方法でリモートマシンにプッシュしますコマンド..保存するたびにコミットし、必要に応じてそれらを単一のコミットにリベースできます。
「継続的なバージョン管理」を行うツールについては、次のようなシェルスクリプトを使用して非常に簡単に行うことができます..
while [ 1 ]; do
git add -a && git commit -m "Autocommit at $(date)";
sleep 10;
done
同様のことを行うスクリプトCACM ( github ) があります。
[CACM] は特定のディレクトリを監視し、すべての変更をスタンドアロンの Git リポジトリにコミットします。
使用するには、次のようにします。
cacm --repo dir_of_git_repo --watch dir_to_watch
なぜそうする必要があるのか わかりません.. VCSの使用について最も役立つことの1つは、(最後のコミット以降に)変更したものの差分です。一定の/自動化されたコミットを持つことは単なるノイズになるようです..
また、「e」テキスト エディターには興味深い機能があります。分岐を使用して元に戻す履歴を視覚化します。スクリーンショット付きのブログ投稿があります。