これには間違ったツールを見ているかもしれませんが、複数のサーバーで $HOME/module/submodule/{bin,config,log,tmp} のように構成されたシステムがあります。すべての構成ディレクトリにソース管理を追加したいと思いますが、他のディレクトリには追加しません (特にログ!)。git を $HOME に向けて .gitignore を使用して、興味のないものをすべて除外できると思いますが、新しいモジュールが時々追加される可能性があるため、すぐに除外したいものがたくさんあります。何か案は?明らかな何かが欠けていますか?ところで、私は git とは結婚していません。自分のニーズに合ったシステムなら何でも受け入れます。中央の変更リポジトリは便利ですが、必須ではありません。間違いをロールバックする方法と、変更追跡を追加する方法が欲しいだけです。
2 に答える
愚かで明白な方法
%REPO-ROOT
atを使用してリポジトリを作成し (ご想像のとおり)、すべてのファイル$HOME
を無視します(構文は VCS に依存します)リポジトリに何かを追加する前に、必要なファイルのみを手動でリポジトリに追加します
PATH/TO/config
わずかに異なるバージョン: dirs以外のすべてを無視します(理論的には Mercurial のNegative Lookaheadで可能です。Git にも同じ手法が別の名前で存在します。AFAICR)、デバッグ段階ではhg-isignored 拡張機能(ソースは BitBucket にあります) は非常に便利です - Mercurial の正規表現用
もっと素敵で簡単な方法
%REPO-ROOT
at eachでリポジトリを作成し、$HOME/module/submodule/config
何も無視します (?)。スーパー リポジトリのすべての小さなリポジトリを Git のサブモジュール|サブツリー、Mercurial のサブリポジトリとリンクするか、ローカル リポジトリで複数のリモートとブランチを使用する (LIVE リポジトリの集約)
最後の注意事項
RCS (CVS、Monotone、Bazaar、ClearCase、Rational Team Concert) のことは忘れて、頭痛の種を買う必要はありません