私はgitをはじめて使用しており、コミットしようとしています。すべての.projectファイルと.settingsファイルを無視したいので、.gitignore
ファイルに行き、.project
、.settings
を追加して保存しました。私がしたとき、.settings
ファイルはもう表示されませんが、私はgit -status
を実行すると私の.projectファイルが表示されます。Gitは私の.projectファイルを除外しないで無視します
答えて
あなたgit status
出力はあなたの2種類のファイルを示している:また、なぜ.jar
ファイルは別のセクションで.xml
とjava
ファイルがあるをコミットするために上演していない
- 変更
これらはGitが追跡しているファイルであり、これらのファイルは前回のコミット以降に変更されています。しかし、変更はまだ行われていません。 git add
を使用して変更をステージングしない限り、コミットされません。なぜ.project
はGitリポジトリによって追跡されているとして表示されるための最も可能性のある説明は、その後、あなたが本当にちょうど仕事を始めたと仮定すると、
git add path/to/web.xml
あなたは何とかそれを追加したことをされています。ここでは、web.xml
ファイルに変更をステージしまう方法です。この問題を解決するには、あなたが使用して試すことができます:
git rm --cached .project
これはGitリポジトリによって追跡されているから.project
ファイルを削除します。リモートリポジトリからも削除されますが、まだ作業を開始してまだプッシュしていないので、これは問題です。
- 人跡未踏のファイル
これらは、Gitが完全に無視しているファイルです。 Gitの観点からは、これらのファイルは存在しません。多くのJARファイルがuntrackedとしてリストされていることがわかります。一般に、バイナリファイル、特に依存関係をGitリポジトリに追加するのは悪い考えです。ソースファイルがuntrackedと表示されている場合は、git add
を実行してそのファイルをGitに追加することもできます。
Gitリポジトリにバイナリを追加するのが悪い習慣であると一般的に考えられる理由は、Gitはバイナリのdiffsをうまく処理しないからです。 1MBのJARファイルを追加するとします。それが変わるたびに、オープンソースのものをやっているとかなり頻繁になるかもしれませんが、diffはそのバイナリ用に保存されなければなりません。しかし、Gitはdiffを古いファイルを削除し、それを新しいファイルのの内容のに置き換えると解釈することがよくあります。言い換えれば、Gitは基本的に各変更のバイナリ全体をバージョン化します。時間が経つと、リポジトリが大きくなって肥大化し、履歴からそれらのバイナリを取り除くことが困難になることがあります。したがって、絶対に必要な場合を除いて、Gitリポジトリにバイナリを保存することは避けてください。
ありがとう!最後の点、つまりjarファイルについて。私はこれらのjarファイルをコミットする必要があります。Jarファイルをコミットするのは悪い習慣ですか? – Robben
これらのJARファイルをコミットする必要はほとんどありません。通常、JARファイルは、MavenやGradleのようなツールによって維持管理され、バージョン管理されます。パブリックなJARリポジトリに、Gitではなく、それらをバージョン管理することを心配してください。バイナリをGitリポジトリに追加すると、問題の世界を作り出すことができます。 –
私は見る!それを指摘してくれてありがとう。このプロジェクトにはmavenやgradleは使用しません。私たちはアリだけを使用します。私はそれについて私のマネージャーに話しています。 – Robben
- 1. なぜGitはpngファイルを無視し、どうやってそれらを無視しないのですか?
- 2. テストカバレッジ中にファイルを無視/除外/除外する方法は?
- 3. Gitがファイルのパーミッションの変更を無視していない
- 4. APTANA:アップロード時に.projectファイルを無視しますか?
- 5. Gitはサブディレクトリ内のいくつかのファイルを除いてすべてのファイルを無視します
- 6. gitでピリオドを含まないファイルを無視する
- 7. Gitはローカルに削除されたフォルダを無視します
- 8. SourceTree(Git)で無視できないファイルを無視する方法
- 9. Gitはフォルダ内のファイルではなくサブフォルダを無視します
- 10. "git clean -fdx"でフォルダ/ファイルを無視したままにする
- 11. 無視されたファイルをgitの状態から外しておきます
- 12. 隠しファイル(.project .pydevprojectと。files)を無視したSVN
- 13. gitは完全にファイルを無視します
- 14. Gitは一時ファイルを無視します
- 15. git GUIは.gitignoreファイルを無視しますか?
- 16. PHP CodeSnifferはメソッド内のアンダースコアルールを無視/除外します
- 17. GitはVisualStudioで名前を変更した後でファイルを無視します
- 18. Prose.ioは私の_prose.ymlファイルを無視しています
- 19. AndroidスタジオのGradle Project用にGITから除外するファイルは、MACとWindowsのコードを維持します。
- 20. 私のgit無視ファイルがxcuserdataと一致しないのはなぜですか?
- 21. GITのファイルのみを削除してサブフォルダを無視する方法
- 22. Git無視ファイル - 方法
- 23. Gitは無視されていない古いファイルを "覚えています"
- 24. Git - XcodeファイルはProject Navigatorで削除予定です
- 25. gitは拡張子を除くすべてのファイルを無視しますが、拡張子のパターンは無視します
- 26. gitでファイルを無視します.gitignoreで定義しません。
- 27. gitは2つの特別な名前のファイルを無視しません
- 28. gitサブリポジトリを無視して通常のファイルとして扱います
- 29. .gitignoreは私のファイルを無視していません
- 30. Gitは特定の拡張子を除くすべてのファイルをサブディレクトリ下でも無視します
私の推測では、 '.project'ファイルは既に以前にコミットされていると思います。いずれにせよ、 'git rm --cached .project'を実行すると、その問題を解決するはずです。 '.xml'と' .java'ファイルが別々に表示される理由は、Gitがこれらのファイルを追跡していて、それらが変更されたがまだステージングされていないことを伝えています。最初に 'git add'を使ってそれらを実行してからコミットしてください。 –
@TimBiegeleisen THanks!しかし、なぜ彼らは両方がunstagedされている場合、彼らは別のセクションにありますか?それらはすべて1つのセクションにリストされるべきではありませんか? – Robben
@TimBiegeleisenそして、うまくいけば、私が 'git rm --cached'をしたときにうまくいった。そのコマンドは何をしていますか? – Robben