私は大学院生で、多くのスクリプト、bibtexの参考文献データ、ラテックスの論文ドラフト、オープンオフィスでのプレゼンテーション、scribusのポスター、図と結果のデータを持っています。すべてを1つのプロジェクトにバージョン管理下に置きたいと思います。次に、書誌データなどの部分で作業する必要がある場合は、そのサブディレクトリをチェックアウトし、必要に応じて変更してからマージし直したいと思います.1つのバージョンを自宅のコンピューターにチェックアウトできるようにしたいです。私の仕事用コンピュータとは別のものを使用して、それぞれに個別に変更を加え、最終的にそれらをマージして戻します。また、この大きなプロジェクトからコードをチェックアウトして、バージョン管理とともに別のプロジェクトにインポートできるようにしたいと思います。変更する可能性がある場合は、それらを元のプロジェクトにマージできるようにしたいと思います。
私の理解に基づいて、gitサブツリーはこれを行うことができます。
http://github.com/apenwarr/git-subtree
私がやろうとしていることに沿った例があります:
http://psionides.jogger.pl/2010/02/04/sharing-code-between-projects-with-git-subtree/
私のプロジェクトのトランクにディレクトリが含まれているとしましょう:(bib bin cfg data fig src todo)。
使うとき
git subtree split -P bib -b export
git checkout export
bibディレクトリに加えて、srcディレクトリなどの.gitignoreに基づい て無視またはバイナリと見なされるべきすべてのファイルと、チルダまたは./dataディレクトリで終わるすべてのファイルを取得します。
dwickrama@DWwork:~/research/trunk$ ls * -r
biblography.bib JabRef
src:
script1.sh~ README~ script2.sh~
script3.sh~ script4.R~ script5.awk~
script5.py~
cfg:
cfgFile1.ini~ cfgFile2.ini~ cfgFile3.ini~
bin:
bigBinaryPackage1 bigBinaryPackage2
dwickrama@DWwork:~/research/trunk$
私の.gitignoreファイルは次のとおりです。
*.doc diff=word
*.tex diff=tex
*.bib diff=bibtex
*.py diff=python
*.eps binary
*.jpg binary
*.png binary
./bin/* binary
*~
これを防ぐにはどうすればよいですか?