アプリ開発において「Git」は必須スキルとなってきます。Gitの基本コマンドは知っているけど他のコマンドはよく知らない、Gitコマンドをもっと知って便利に使いたい!と思っている方、また 特定のファイルがバージョン管理から除外されているか手早く知りたい! という方向けに、この記事では「git check-ignore」コマンドについて解説します。
GitについてはエンベーダーのLinux応用コースで詳しく学ぶことができます。
https://envader.plus/course/5/scenario/1055
様々なGitコマンドを習得し、Gitマスターを目指しましょう!
「git check-ignore」でできること
git check-ignore
コマンドを実行すると、指定したファイルやディレクトリが「.gitignore」ファイルによってバージョン管理から除外されているかどうかを確認することができます。このコマンドを使用することで、以下のようなことが可能です。
- 特定のファイルやディレクトリが「.gitignore」の設定によって無視されているか確認できる
- 「.gitignore」ファイルのどの行によって無視されているかを特定できる
- 複数のファイルやディレクトリを一度に確認できる
そもそも「.gitignore」ファイルとは?
Gitによってプロジェクトのソースコードやファイルをバージョン管理する際、機密情報や個々人で内容が異なる設定ファイルなど、その管理対象から除外したいファイルやディレクトリが存在することがあります。そのような場合、「.gitignore」ファイルを使用してGitの管理対象から除外することができます。
具体的には、以下のように「.gitignore」ファイルを作成、もしくはすでにある場合は編集をし、ファイル名やディレクトリ名を記載することでGitによるバージョン管理から除外されるようになります。
- ファイル名は直接記載
- ディレクトリの場合は最後に「/」をつける
# ビルド生成物と依存関係のディレクトリ
build/
dist/
node_modules/
# 環境変数ファイル
.env
開発現場での使用例
-
プロジェクトの初期設定時
プロジェクトを新しく始める際、「.gitignore」ファイルを適切に設定することが重要です。
git check-ignore
を使って、意図したファイルやディレクトリが正しく無視されているか確認することができます。これにより、不要なファイルがリポジトリに含まれることを防ぐことができます。 -
「.gitignore」ファイルの設定変更時
プロジェクトの開発途中で「.gitignore」ファイルの内容を変更した場合、
git check-ignore
を使って変更が正しく反映されているか確認することができます。これにより、設定ミスによるファイルの誤った追跡を防ぐことができます。 -
CIツールとの統合
継続的インテグレーション(CI)ツールと連携する際、
git check-ignore
を使ってリポジトリに含まれるファイルが期待通りであるか確認することができます。CIプロセスでの予期せぬ動作を防いだり、想定通り「.gitignore」ファイルに記載があるかを自動で確認することができます。
「git check-ignore」の使い方
基本的な使い方
git check-ignore
コマンドの基本的な使い方は以下の通りです。
git check-ignore [オプション] <パス/ファイルorディレクトリ名>
<パス>は、確認したいファイルやディレクトリのパスを指定します。複数のパスを指定する場合はスペースで区切ります。
もし指定したファイルやディレクトリが「.gitignore」ファイルによってバージョン管理から除外されている場合、そのファイル、ディレクトリ名がそのまま表示されます。除外されていない場合、何も表示されません。
「git check-ignore」のオプション
git check-ignore
コマンドの主なオプションに以下の2つがあります。
-v
-n
(-vと併用必須)
-v
「.gitignore」ファイルの何行目に指定したファイル、ディレクトリが記載されているかを一緒に表示してくれます。
git check-ignore node_modules/
# コマンドの実施結果により、39行目に記載されていることがわかる
.gitignore:39:node_modules/ node_modules/
-n
バージョン管理の除外対象になっていないファイルやディレクトリの名前は通常コマンド実施後に表示されませんが、このオプションを併用すると除外対象になっていないファイルやディレクトリも表示されます。除外対象との違いとして、下記の実行結果のように行数が表示されず、「::」とコロンが2つ表示されるようになります。-v
オプションと一緒にしか使用することができませんので注意してください。
git check-ignore -nv node_modules/ src/
# src/は管理から除外されていないが、表示はされる
.gitignore:39:node_modules/ node_modules/
:: src/
まとめ
git check-ignore
コマンドは、「.gitignore」ファイルの設定が正しく機能しているか確認するために使用されることがわかりました。このコマンドを使用することで、特定のファイルやディレクトリがGitの管理対象から除外されているかどうかを簡単に確認することができ、不要なファイルがリポジトリに含まれること防ぐことでプロジェクトの整理に貢献することができます。
他のGitコマンドに比べると使用する頻度はそれほど高くないかもしれませんが、設定変更後の確認や、CIのツールと組み合わせることで安心してリポジトリ運用をしていくことができるコマンドです。ぜひ現場でも機会を見つけて積極的に活用してみてください。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2024.06.02
リポジトリ内の探しものは「git grep」で効率的な検索テクニックを紹介
「git grep」コマンドを使用すると、リポジトリ内のファイルを一度に検索することができて、とても便利なのです。そんなリポジトリ内を一斉検索できる便利なコマンド、「git grep」をこの記事で解説します。
- git
2024.08.24
git checkout と git switch それぞれの使い方を比較する
この記事では、switchコマンドの基本的な使い方と機能を紹介します。また、checkoutコマンドとの比較を行い、両者の違いとそれぞれのコマンドが適した使用状況について解説します。最後に、switchコマンドを使った実践的な使用例とベストプラクティスを提供します。
- PC操作
- git
2024.06.17
Git管理のファイル削除はGit rmで。削除の基本を解説!
Git運用をしている開発でのファイルやディレクトリの削除はどのように行なっていますか?MacのFinderやWindowsのエクスプローラーで手軽に削除できますが、Git運用をしているのであれば、git rmコマンドを使用しての削除がおすすめです。
- git