2011-06-23 20 views
1

何とか偶然、.sln.docstatesファイルをコミットしました。今はgitignoreに追加しましたが、無視されません。私はこれがすでに1度コミットしたからだと思う。いつ知りません!Gitはリポジトリから* .sln.docstatesを削除します

このgitignoreルールを機能させる可能性はありますか? リポジトリから削除するにはどうすればよいですか?

$ git rm --cached \*.sln.docstates 

...その後.gitignoreを光栄にする必要があります。

*は、このようにそれを削除し

答えて

1

これは、リポジトリの変更をプッシュしたのか、ローカルに変更したのかによって異なります。

既に変更をリモートリポジトリにプッシュした場合は、履歴を書き換えることはできません。

変更がローカルのみの場合は、git log .sln.docstatesを使用して、ファイルの履歴を調べ、ファイルを追加した場所を確認します。コミットからファイルを削除するには、git filter-branch magicsee a corresponding answerが必要です。

ファイルが最新の未発行コミットにのみ存在する場合、状況はより簡単です。git rm --cached .sln.docstatesgit commit --amendを使用できます。 (--cachedスイッチは、ファイルに触れずにインデックスから削除するようにgitに指示してから、--amendスイッチを使用して新しいファイルを作成するのではなく、最後のコミットを変更します)。

3

を.sln.docstates。

関連する問題