.gitignore をマスターする:Git ファイルの除外に関する初心者ガイド
.gitignore ファイルには、Git がローカル プロジェクトで無視する必要があるファイルのリストが含まれています。 .gitignore ファイルは通常、プロジェクトのメイン ディレクトリに存在します。単一のファイル、複数のファイル、またはフォルダは無視できます。
Git リポジトリのメイン バージョンに含めたくないファイルがある場合があります。これらのファイルには、プライベートであり、他の共同作業者に見られるべきではない構成またはローカル変数が含まれている場合があります。
そこで .gitignore ファイルが登場します。このファイルを使用すると、ファイルを無視するように Git に指示できます。
このガイドでは、.gitignore とは何か、その仕組み、および独自の .gitignore ファイルを作成する方法について説明します。早速、始めましょう!
.gitignore ファイルとは何ですか?
.gitignore ファイルには、Git が無視するファイルがリストされます。 .gitignore ファイルは通常、プロジェクトのルート ディレクトリにあります。 Git によって追跡されるファイルは、プロジェクトから削除しない限り無視されません。
コミットに追加するときは Git を使用します。これは、* 演算子を使用すると、構成ファイルやコンパイルされたコードを含むすべてのファイルがコミットに追加されることを意味します。このオペレーターは、すべてのファイルをコミットにステージングします。
多くの場合、開発者は出力フォルダー、隠しシステム ファイル、およびコンパイルされたコードを無視したいと考えます。たとえば、リポジトリに .env ファイルがある場合、それを非表示にすることができます。これは、.env ファイルには通常、リポジトリにコミットしたくない API キーが含まれているためです。
ファイルを無視するために使用できる無視コマンドはありません。 .gitignore ファイル内で無視したいすべてのファイルのリストを作成する必要があります。
.gitignore ファイルの作成方法
.gitignore の作成 ファイルはシンプルです。コマンド シェルを開き、.gitignore というテキスト ファイルを作成します。 プロジェクトのルートディレクトリにあります。これは、タッチ コマンドを使用して行うことができます。
.gitignore ファイルを作成しました。ファイルを構成設定でセットアップする必要はありません。次のステップは、無視したいファイルのリストを追加することです。これらのファイルは追跡されないファイルになります。これは、ローカル リポジトリで Git から無視されたファイルを表す別の言葉です。
次の .gitignore を検討してください。 ファイル:
このファイルは、node_modules ディレクトリ内のすべてのファイルと .env ファイルという 2 つのリソースを無視します。ローカル リポジトリ内の 2 つの特定のリソース、フォルダーとファイルを無視しました。
これは、JavaScript プロジェクトでの一般的な設定です。 node_modules には、プロジェクトで使用しているすべての依存関係のローカル コピーが含まれています。これらの依存関係を自分でインストールできる場合、これをリポジトリにコミットするのは現実的ではありません。 .env ファイルには API キーが含まれています。多くの人がアクセスできるリポジトリで API キーを共有することは悪い習慣です。
複数のファイルまたはディレクトリを無視したいとします。これを行うには、* ワイルドカードを使用します。
リポジトリ内のすべての .pyc ファイルを無視しましょう:
名前パターンが *.pyc と一致するすべてのファイルは無視されます。アスタリスクはワイルドカード演算子です。
GitHub は、サイトで使用できる gitignore ファイルの優れたコレクションを作成しました。 GitHub の gitignore ファイルのコレクションを表示します。
複数の .gitignore ファイルの使用
同じリポジトリ内で複数の .gitignore ファイルを使用できます。これが機能するのは、.gitignore がそれが配置されているディレクトリに相対しているためです。
最後の例では、.gitignore をプロジェクトのルート ディレクトリに配置しました。 diff/ フォルダー内の .pyc で終わるファイルをすべて無視したいとします。これを行うには、コマンド ラインを使用して diff フォルダーに .gitignore というファイルを作成します。
次のルールを .gitignore ファイルに追加します。
リポジトリにコードをコミットしようとすると、Git は diff/ フォルダー内の .pyc で終わるファイルを無視します。
この設定は、プロジェクト内の特定のフォルダーに適用するルールのみが必要な場合に最適です。ただし、1 つのプロジェクトに複数の .gitignore ファイルがあると混乱する可能性があります。別の方法としては、プロジェクトで無視する必要があるファイルをより具体的に指定することです。特定の場合は、すべてのルールを 1 つの .gitignore ファイルに保存できます。次のファイルについて考えてみましょう:
この .gitignore は、Git プロジェクトのルート ディレクトリにあります。これは、プロジェクト内の .txt で終わるすべてのファイルを無視するように Git に指示します。また、diff/ フォルダー内にある .pyc で終わるすべてのファイルを無視するように Git に指示します。
グローバル Git 無視ルールを作成する方法
作成するプロジェクトごとに .gitignore ファイルを定義するには時間がかかる場合があります。さらに、通常、ほとんどのプロジェクトで同じ .gitignore ルールのセットが使用されていることがわかります。
システム上のすべてのリポジトリに gitignore ルールを自動的に設定するグローバル gitignore ルールを設定できます。このファイルは通常、/home/your_username などのオペレーティング システムのホーム ディレクトリに配置されます。 または /Users/your_username 。
グローバル .gitignore ファイルを作成しましょう:
このコマンドは、ホーム ディレクトリに空の .gitignore ファイルを作成します。このファイルを開き、システム上のすべての Git リポジトリに設定したいルールを追加します。

「キャリア カルマは、私が最も必要としたときに私の人生に入り込み、すぐにブートキャンプに参加するのに役立ちました。卒業から 2 か月後、私は自分の価値観と人生の目標に合致する夢の仕事を見つけました。」
Rockbot のソフトウェア エンジニア、Venus 氏
ブートキャンプにマッチするものを見つけてください
gitignore ファイルを設定したら、core.excludesFile を使用してそのルールを適用できます。 プロパティ:
git config --global core.excludesFile ~/.gitignore
このコマンドは、~/.gitignore にルールを設定します。 ファイルをコンピュータ上のすべての Git リポジトリに適用します。
グローバル git 無視ルールを定義するときは注意してください。これは、グローバル .gitignore 内のルールがすべてのプロジェクトにわたってデフォルトで設定されているためです。
グローバル .gitignore ファイルは、git リポジトリにコミットすることがほとんどない .env などの一般的なファイルに最適です。
コミットされたファイルを無視する方法
プロジェクト内でどのファイルを無視する必要があるかを常に予測できるわけではありません。以前にファイルをリポジトリにコミットしたが、今回はそれを無視したい場合があるかもしれません。
ファイルconfig.json は無視しましょう。 このファイルはすでにリポジトリにコミットされています。まず無視ルールを .gitignore に追加する必要があります。 ファイル:
echo config.json >> .gitignore
このコマンドはconfig.jsonを追加します。 .gitignore ファイルの最後まで。次に、リポジトリからファイルを削除する必要があります。これは、 git rm –cached コマンドを使用して実行できます。このコマンドは、リポジトリからファイルを削除するだけです。これはコンピュータ上のローカル ファイルとして残ります。
git rm --cached config.json
次回コミットを作成するとき、config.json ファイルは無視されます。
無視されたファイルをコミットする方法
.gitignore ファイルで無視されたファイルをコミットできます。
これは、リポジトリにコミットするデフォルトの構成ファイルを作成し、それ以外の場合は無視される場合に便利です。ファイルをステージング領域に追加するときに、-f フラグを使用して無視されたファイルをコミットできます。
git add -f config.json git commit -m "feat: Create default config file"
このコードは、config.json ファイルをステージング領域に追加します。次に、ステージング領域の内容に基づいてコミットを作成します。 git add について詳しくは、git add チュートリアルをご覧ください。 git commit コマンドについては、git commit チュートリアルで読むことができます。
結論
.gitignore ファイルを使用すると、Git リポジトリ内のファイルを無視できます。
プロジェクトのローカル コピーにあるすべてのファイルをコミットに含めたくない場合があります。たとえば、コンパイルされたコード、システム ログ、構成ファイルをコミットしたくない場合があります。ファイルを無視するには、.gitignore で無視するファイルを指定できます。
プロジェクトには複数の .gitignore を含めることができます。 ファイル。 git add コマンドを使用するときに、-f フラグを使用して .gitignore ルールをオーバーライドできます。
これで、エキスパートのように .gitignore ファイルを使用する準備が整いました。
-
データ構造の隣接リスト
グラフは非線形のデータ構造です。これは、ノードを使用したデータと、エッジを使用したそれらの関係を表します。グラフGには2つのセクションがあります。頂点とエッジ。頂点はセットVを使用して表され、エッジはセットEとして表されます。したがって、グラフ表記はG(V、E)です。アイデアを得るための1つの例を見てみましょう。 このグラフには、5つの頂点と5つのエッジがあります。エッジが方向付けられます。例として、頂点BとDを接続するエッジを選択した場合、ソース頂点はBで、デスティネーションはDです。したがって、BをDに移動することはできますが、DからBに移動することはできません。 グラフは非線形
-
クラスカルの最小スパニングツリーアルゴリズム
連結グラフG(V、E)があり、すべてのエッジの重みまたはコストが示されています。クラスカルのアルゴリズムは、グラフとコストを使用して最小全域木を見つけます。 これは、マージツリーアプローチです。最初はさまざまなツリーがありますが、このアルゴリズムは、コストが最小のエッジを取得することでそれらをマージし、単一のツリーを形成します。 この問題では、すべてのエッジがリストされ、コストに基づいて並べ替えられます。リストから、最小コストのエッジが取り出されてツリーに追加され、エッジ形成サイクルかどうかがチェックされます。サイクルを形成する場合は、リストからエッジを破棄して次のエッジに進みます。