2012-03-02 6 views
1

私は次のような状況があります。強制gitのは、私の作業ツリー内のファイルを変更しないように

私は共同プロジェクトに取り組んでいますが、我々はgithubのを使用しています。追跡中のuser_info.csvというファイルがあります。それを変更する様々な人々によってプッシュされたコミットがあります。

テストのために、私は自分自身のユーザをリストアップしたいと思います。コミットがそうする必要がある場合でもgitを更新する必要はありません。たとえば、私が古いコミットをチェックアウトしたり、プルを行うと、追跡されている作業ツリー内のすべてのファイルは、user_info.csvを除いて変更する必要があります。

ブランチをプル/スイッチングする場合でも、gitをuser_info.csvに変更しないでください。また、インデックスから常に離れることがありますか?

私が試した:

  • .gitignore
  • $GIT_DIR/info/exclude
  • git update-index --assume-unchanged

答えて

0

を限り何であるため、ファイルは、それは常に他のブランチからの変更を適用しますGitリポジトリによって追跡されるようです。トラッキングコンテンツ、あなたは知っています。 :)

ファイルをアントラッキングする(注意してください。これは他の人のリポジトリからも削除されます)、またはそれを離れて移動し、更新してもう一度移動してください。

+0

私のためにファイルをアントラッキングするにはどうすればよいですか? – Cam

+0

ローカルブランチからuntrack(別名削除)しても、他の人から更新を取得するたびに競合が発生する可能性があります。 – Bombe

2

ファイルが実際にバージョン管理に属しているかどうかを確認しますか?

誰もが自分自身の個人的な使用のためのファイルを変更している場合、そのファイルは(例えばuser_info.templateを)追跡され、すべての協力者がexclude.gitignoreにある自分のuser_info.csvを作成することができることをテンプレートに変換する必要があります。

ただし、ファイルがそれを必要プログラムと皆に不可欠である場合、あなたは違った、これを行うことができる方法を考える必要があります。

  1. は、新しいファイルを作成し、外部のそれのコピーを保持それぞれのプルでコピーしてください。
  2. 変更して別のファイルを持っているし、そのファイルを使用するようにテストファイルを変更する代わりに
  3. (テスト環境に応じて、当然の)すべてのファイルが含まれていませんあなたのテストのために備品を作成
  4. テストを実行するときは、スクリプトを使用して新しいファイルを作成し、テストが完了したら削除します。
関連する問題