最近、バージョン管理システムを使用していない既存のプロジェクトの作業を開始しました。私は Subversion を広範囲に使用してきましたが、経営陣は Git を使用したいと考えていました。私はそれを学んでおり、それを愛することを学んでいます。私自身の正気を保つために、セットアップされた開発環境 (Linux) からダウンロードしたファイルに基づいて、Windows 7 マシンに Git リポジトリを作成しました。私は喜んで master に変更をコミットしていましたが、開発の優先順位を頻繁に変更しなければならないことに気付きました。それに対応するには、分岐が最善の方法であることに気付きました。私は「成功した Git ブランチ モデル」を採用しており、今のところ気に入っています。
課題
1 つ:プロジェクトには、ローカルの Git リポジトリで壊れているシンボリック リンクがあります。それらを修正して、適切に Git リポジトリに入れたいと思います。製品コードの tar アーカイブを利用できますが、それを正常にマージする方法がわかりません。Windows では WinMerge を使用していますが、シンボリック リンクは保持されません。開発サーバーにリポジトリをセットアップしたら、Windows マシンからのコミットを放棄して、サーバーからプルするだけでよいですか?
2:プロジェクトには、ファイル システムのルートに至るまでのファイル パスがあります。構成ファイルのバージョン管理に Git を使用し、ファイル システムのルートにリポジトリを持つ人々に関する記事をいくつか見たことがあり.gitignore
ますが、これを可能な限り簡単にするファイルの良い例は見たことがありません。これに対する適切な行動方針は何ですか?
#2に更新
これらのルールは、私が必要とするものを達成しています:
/* # ignore everything in root by default
!.gitignore # allow this file
!/library # allow library
!/home # allow user directories
/home/* # not every user
!/home/user # just this user
/home/user/* # not all the user's files
!/home/user/public_html # just the public_html files
!/home/user/www # symbolic link to public_html