2013-03-21 10 views
6

私はApp.Local.configファイルを持っています。それぞれの開発者が独自の設定を持っています。別の開発者の変更によって上書きされるたびにGITリポジトリでバージョン管理されたファイルをチェックしません。GIT:ブランチを切り替えるときに無視されたファイルを保持する方法は?

私はリポジトリからファイルを削除し、それを無視ファイルに追加しました。しかし、開発者がブランチを切り替えると、App.Local.configはローカルファイルシステムから削除されます。

最終的に私が希望するものは次のとおりです。

  1. 新しいdevのクローンレポ、
  2. DEVがApp.Local.configへの変更を行うApp.Local.config
  3. の開始バージョンを取得します。 Gitは変更を無視し、ステージ/チェックインではなく
  4. devスイッチをブランチに変更し、App.Local.configへの変更は失われず、ファイルは削除されません。

どうすればいいですか?

ありがとうございました。

+0

ファイルが正しく無視された場合、ブランチを切り替えるときにファイルに触れてはなりません。 'git status'とタイプすると表示されますか? –

+2

これは全員の最初の更新時にのみ削除されます。全員のレポが最新の状態になると、ファイルは残っていて削除されません。 – TheBuzzSaw

答えて

6

おそらく、ファイルをワークスペースから削除したものの、インデックスから削除していないことが考えられます。もしあなたがこのファイルを削除することが変更であると思っていたら、そのファイルはそれ以降削除されると思います。

移動するための方法は

git rm --cached App.Local.config 

と、インデックスからもうあなたが追跡したくないファイルを削除してあなたとこれ以上の問題を持っていないことを行う.gitignore にそのファイルを追加することですあなたはに切り替えたい、またはあなたがそのブランチのみでgit rm --cached App.Local.configを使用する場合は働いていたブランチに戻ったとき、あなたのApp.Local.configを失うことになるだけでなく、ブランチのブランチを動作していないだけでgit rm --cached App.Local.configを使用する必要があり、ファイル

+1

@mswansonファイルが無視されると、あなたは望むようにブランチを切り替えることができます - それは触れません。ですから、あなたはただ一つの問題しか持っていません。devsにこのファイルのテンプレートを提供してください。しかし、あなたはgitからそれをやるべきです。 – madhead

+0

ファイルが無視され、インデックスからファイルへの変更が失われず、ファイルが削除されない場合 – iberbeu

+1

@iberbeu同じ問題が発生しますが、ファイルがインデックスに登録されていません。私は--orphanフラグで新しいブランチを開始し、次にgit rm --cachedをすべて実行し、.gitignoreのいくつかのファイルを無視してコミットしました。これらのファイルはブランチを切り替えると消えてしまい、どうやってそれを回避するのかわかりません! – splinter123

1

このファイルのような感じです。したがって、その削除に変更されています。 .gitignoreまたは.git/info/excludeに追加して、各開発者マシンで再作成することができます。

関連する問題