2016-10-11 8 views
1

私はまだgitの新機能です。私のリポジトリが公開される必要はないので、私はBitbucketを選んだ。デスクトップクライアントとして、私はAtlassian Sourcetreeを使用しています。Sourcetreeですでにコミットされているファイルを無視する

私はEclipse IDEを使用してJavaプロジェクトに取り組んでいます。みんなと同じように、私はクラスファイルを変更されたファイルに表示する必要はありませんが、それらのファイルは既にコミットされ、リモートリポジトリに格納されています。
.javaファイルを変更するたびに、これらのクラスファイルを変更されたファイルとして表示しないようにSourceTreeが必要です。

非常に多くの質問と回答からわかるように、.gitignoreファイル内のエントリだけで、クラスファイルがすでにコミットされているので、クラスファイルを無視できません。
私が理解するように、私がすべきことはソースツリーのファイルを無視してコミットすることです。それで、.gitignoreファイルのエントリだけが私たちが必要とするものを実行します。 (これは私の理解です。私が間違っていれば私を修正してください)。

私の今の問題は、ignoreオプションがグレー表示されています。そのためコミュニティが最初にStop Trackingオプションを選択してからignoreオプションを選択することを提案します。しかし、トラッキングを停止すると、変更は表示されません。
コミュニティごとに、ファイルに青いアイコンが表示されている必要があります。しかし、それは私の場合ではありません。私はアイコンを変更しなかったにもかかわらず、私は無視オプションを選択しようとしました。しかし、それはまだ灰色です。これらの手順を実行しても、.javaファイルに変更すると、.classファイルが変更されたファイルリストに表示されます。

ここで何が間違っていますか?なぜ私は仕事をやっていないのですか?私は何を間違えたのですか?

+0

すでにリポジトリにある '.gitignore'にファイルを追加することは何もしません。これが当てはまる場合は、最初にファイルを 'git -rm'してプッシュし、その後に' .gitignore'に追加する必要があります。ありがとうございます。 –

+0

HOwはすべてのクラスファイルを含むフォルダ全体を 'git -rm'することができます – vigamage

+0

ワイルドカードを使用してください。 'git -rm some/path/*です。java ' –

答えて

2

私の現在の問題点は、無視オプションがグレー表示されていることです。コミュニティが最初に[追跡の停止]オプションを選択して[無視]オプションを選択するように提案しています。 "What is the difference between Stop Tracking and Discard File in git SourceTree" によると

あなたはStop Trackingを使用する必要があります。
その後、Unstagedファイルに記載されているファイルが表示されている場合は、.gitignoreファイルを更新して今後このファイルを無視することができます。right-click > Ignore... SourceTreeあなたのレポのルートに

しかし、あなたの場合は

、代わりに.gitignoreにファイルを一つずつ追加する、坑.gitignoreおよび追加:

*.class 
+0

追跡を停止してもファイルが作成されませんステージングされていないファイルに移動します。私はそれを無視できないように。 – vigamage

+0

私のレポには、 '.classpath'エントリを含む' .gitignore'ファイルがあります。私はそれが正しいと思います。ではない? – vigamage

+0

@vigamage次に、コマンドラインに切り替え、 'git rm -r obj'(' .class'がフォルダ 'obj'にある場合)を試してみてください。ワイルドカードは必要ありません – VonC

0

はあなたを表示するには、gitのステータスを入力します。変更されたコードchanges.theあなたの不要なファイルを追加します。 gitignore。 最後にファイルを追加してコミットします。

関連する問題