修正:Gitignoreが機能しない

GitHubは、コードコラボレーションとリポジトリ共有の分野における先駆者として浮上しています。 GitHubは主に、ユーザーが分散バージョン管理とSCM(ソースコード管理)を管理できるバージョン管理ソフトウェアです。 このプラットフォームは、世界中の主要な企業や企業で使用されています。

.gitignore

このようなプラットフォームには、技術と問題があります。 コーダーが経験した特定の問題の1つは、GitHubで.gitignoreが機能していなかったことです。 プラットフォームは、.gitignoreを無視するか、部分的に機能しました。 各ケースは完全に異なるシナリオであるため、問題は各ケースで少し異なる可能性があることに注意するのは興味深いことです。 ただし、リストされているソリューションには、普遍的に機能する修正が含まれます。

.gitignoreとは何ですか?

Git(またはGitHub)は、作業ディレクトリ内のすべてのファイルを参照します。 各ファイルを次の3つのうちの1つとして特徴付けます。

  • 追跡済み:これらのファイルは、過去にコミットまたはステージングされています。
  • 未追跡:これらは、以前にステージングまたはコミットされていないファイルです。
  • 無視:これらは、ユーザー自身がGitに完全に無視するように指示したファイルです。

これらの無視されたファイルはシナリオごとに異なる場合があり、ほとんどはマシン生成ファイルまたはビルドアーティファクトです。 これは一般的な方法です。 必要に応じて、他のさまざまなファイルを無視している可能性があります。 これらのファイルの例を次に示します。

  • コンパイルされたコード:これらのファイルは通常、拡張子が.class、.pyc、.ccpなどです。
  • 隠しシステムファイル:これらは、システムがその操作に使用するファイルですが、DS_StoreやThumbs.dbなど、プレーンビューからは隠されています。
  • ビルド出力ディレクトリ:これらはほとんど/ bin、/ outなどのディレクトリです。
  • 依存関係キャッシュ:これらのファイルは、/ nodeまたは/ packagesモジュールの内容である場合があります。
  • IDE構成ファイル:これらは、ほとんどがIDEソフトウェアによって作成または管理される構成ファイルです。
  • 実行時に生成されるファイル:実行時にファイルを作成するプログラムがいくつかあります。 このようなコードが実行されると、実行時に作業フォルダーにいくつかのファイルが生成され、Gitでそれらを無視する場合があります。

無視したいファイルは、.gitignoreという名前の特別なファイルで追跡されます。このファイルは、作業リポジトリのルートでほとんどチェックされます。 この問題に関するGitHubの公式ドキュメントによると、特定のgitignoreコマンドはありません。 代わりに、無視するファイルを手動で編集する必要があります。 .gitignoreファイルには、作業リポジトリ内のファイル名と一致するパターンが含まれています。これらのパターンは、特定のファイルを無視するかどうかを判断するのに役立ちます。

.gitignoreが機能しない原因は何ですか?

.gitignore機能は完全に機能している可能性がありますが、適切に構成されていない可能性があります。 すべての調査で、モジュールが実際に機能しているという結論に達しました。 コーダーがこの機能を使用できない理由は、主にファイルを適切に構成していないか、基礎となるコードで満たされていない条件があるためです。

ここにあなたのために働くかもしれないいくつかのソリューションがあります。 各ソリューションはケースに当てはまらない可能性があるため、初期条件が満たされていない場合は必ず次のソリューションに切り替えてください。

解決策1:.gitignoreファイルを確認する

.gitignoreファイルが間違った形式で作成されていることがわかりました。 この特定の問題は、ユーザーがWindows OSでメモ帳のデフォルトアプリケーションを使用してファイルを作成したときに発生しました。 メモ帳はファイルをANSI形式ではなくUnicodeで書き込むことがわかりました。 このソリューションでは、メモ帳の変更を.gitignoreの正しい形式で保存し、これで問題が解決するかどうかを確認します。

注:メモ帳を使用して新しいファイルを作成する場合、ファイルから.txtの拡張子を削除する必要があります。

  1. メモ帳で新しいテキストドキュメントにコードまたは変更を書き込んだ後、[ ファイル ]をクリックして[名前を付けて保存 ]を選択します

名前を付けて保存-メモ帳
  1. エンコードの前で、 ANSIを選択します。 ここで、.txtのファイル拡張子を削除し、「。 gitignore 」という名前でファイルを保存します。 正しいディレクトリを選択して保存します。

エンコードタイプとしてANSIを選択する
  1. 次に、ディレクトリに移動して、正しいファイルが作成されているかどうかを確認します。 Gitでもう一度テストし、無視機能が期待どおりに機能するかどうかを確認します。

開発者は、Windowsでデフォルトのメモ帳を使用しないでください。 代わりに、適切な「プログラマー」メモ帳を使用する必要があります。 いくつかの例にはNotepad ++などが含まれます。これらでは、このような問題は発生しません。

注:ファイルが既にUNICODE形式で保存されている場合、Gitでファイルを適切に検出するには、内容をANSI形式で適切に保存する必要があります。

解決策2:無視しようとしているファイルを確認する

.gitignoreが機能する別の条件は、ファイルがまだリポジトリの一部であってはならないことです 。 これは非常に重要な側面です。これは事実であり、ファイルは既にリポジトリに追加されているため無視されません。 Gitは、.gitignoreファイルにその名前またはルールを配置しても、それを無視できません。 したがって、本質的に、Gitは追跡されていないファイルのみを無視します

構造(リポジトリ)を見て、現在無視しようとしているファイルがリポジトリに追加されていないことを確認してください。 そうである場合、リポジトリからファイルを削除する必要があり、最新の変更がコミットされた後、その名前を.gitignoreに追加します(ファイルの内容をコピーし、削除後に別の名前で複製することもできます) 。

解決策3:リポジトリへのファイルの再追加

すでに.gitignoreにルールを追加しているが、無視したいファイルが既に追加されている場合、ファイルを再度追加できます。 追加とは、Gitのインデックスからすべてを削除してから、リポジトリにすべてを再度追加することを意味します。 ファイルを最初から再度追加すると、.gitignoreで追加したルールが考慮され、正しいファイルのみが追加されます。

注:このソリューションを実行する前に、コードを別の場所にもバックアップする必要があります。 万が一のためにバックアップをとっておくことは常に良いことです。

  1. 次のコマンドを実行します。 これにより、ステージングが解除され、ファイルへのパスがgitインデックスから再帰的に削除されます。
 git rm -r --cached。 
  1. これを実行した後、次のコマンドを実行する必要があります。 これにより、すべてのファイルが追加され、.gitignoreにはルールがあるため、正しいファイルのみが更新されます。
 git add。 
  1. 次のコードを使用して、すべてのファイルをインデックスにコミットします。
 git commit -m ".gitignoreは現在機能しています" 

ファイルを調べて、問題が解決したかどうかを確認します。問題なく再び.gitignoreを使用できます。

興味深い記事