修正:Gitignoreが機能しない

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

このようなプラットフォームには技術と問題があります。コーダーが経験した特定の問題の1つは、.gitignoreがGitHubで機能しないことでした。プラットフォームは.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」という名前でファイルを保存します。正しいディレクトリを選択して保存します。
  1. 次に、ディレクトリに移動して、正しいファイルが作成されているかどうかを確認します。ここでGitを使用して再度テストし、無視機能が期待どおりに機能するかどうかを確認します。

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

注:ファイルがすでにUNICODE形式で保存されている場合、Gitでファイルを正しく検出するには、コンテンツをANSI形式で適切に保存する必要があります。

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

.gitignoreが機能するもう1つの条件は、ファイルがまだリポジトリに含まれていないことです。これは非常に重要な側面です。これが当てはまる場合、ファイルはすでにリポジトリに追加されているため無視されません。その名前またはルールを.gitignoreファイルに配置しても、Gitはそれを無視できません。つまり、本質的に、Gitは追跡されていないファイルのみを無視します

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

解決策3:リポジトリにファイルを再度追加する

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

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

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

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