2012-07-24 16 views
54

私はGit - ExtensionをC#で書かれたアプリケーションで同僚と共に使用しようとしています。GIT - .suoファイルを無視できません

"project1.suo"というファイルに.gitignoreというファイルが追加されていますが、プロジェクトをコミットするたびに、 "project1.suo"というファイルをコミットするように指示されているようです。

我々はそのような.gitignoreにファイルを追加するために多くの方法を試してみました:

*.suo 
project1.suo 
c:\project\project1.suo 

我々はこの問題を解決することはできません。

+2

はitselftはレポに追加.gitignoreファイルのですか? –

+0

はいリポジトリにあります – Laxedur

+3

ファイルが一度追加されたと思います。このファイルにgit rmを明示的に入れてコミットして、まだ追加ファイルとして表示されているかどうかを確認してください。 –

答えて

113

gitは、リポジトリに追加されたファイルを無視しません。あなたがそれを無視取得したい場合は、リポジトリからファイルを削除する必要があります。

git rm --cached project1.suo 
git commit -m "Delete suo file from repository" 

これはリポジトリからファイルを削除します、それはあなたのハードドライブに残っていながら。

+0

あなたが* .suoファイルを作成していれば、確かにそれらのファイルを遠隔にプッシュするつもりはありません。このプロジェクトを複製する人に問題が起こるでしょうか? – Waqas

+0

Visual Studioクライアントを使用している場合、そこからこれを行う方法はありません。cmdシェルを使用する必要があります。しかし、シェルからrmコマンドを使用した場合、取り消し線付きの.suoファイルが表示されますが、VS UIを通して変更をコミットすると、それが再び表示されます。上記の両方のコマンドをコマンドラインで実行する必要があります。 –

+1

@Waqasいいえ、ビジュアルスタジオは新しいファイルを作成するだけです。これはリポジトリの一部として* .suoを除いた.gitignoreが重要なときです。彼らがコミットするとき、彼らがチェックアウトした.gitignoreは、自分たちのSUOファイルをチェックするのを妨げます(あるいは少なくとも落胆させます)。 –

-4

私は同じ問題を抱えていました。 Ikkeのソリューションは役に立ちますが、.gitignoreから* .suoエントリを削除することを忘れないでください。ファイルが修正された後、必ず戻ってこの質問に対する私の答えでメソッドを使用する

git add **/*.suo 
+1

.suoはOPの要件を満たすために.gitignoreから削除する必要があります。 – Caltor

1

を行うが、私は、このファイルへの変更を無視することで、より良い解決策を見つけました。 方法が前提と--no--変わらず、この使用を元に戻すには

git update-index --assume-unchanged project1.suo 

または

git update-index --assume-unchanged .vs/config/applicationhost.config 

ある

+0

"致命的:Web /<ファイルの除外項目>にマークすることができません"というメッセージが表示されます – dancerjude

関連する問題