はじめに
このチュートリアルでは、.gitignore
ファイルを使用して、Git リポジトリ内で実行可能ファイル(.exe
ファイル)を無視するプロセスを説明します。このガイドを終える頃には、.gitignore
ファイルとは何か、なぜ重要なのか、そして Git によって追跡されないように .exe
ファイルを構成する方法を理解できるようになります。この知識は、不要なファイルがコミットされるのを防ぎ、クリーンなリポジトリを維持するのに役立ちます。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
このチュートリアルでは、.gitignore
ファイルを使用して、Git リポジトリ内で実行可能ファイル(.exe
ファイル)を無視するプロセスを説明します。このガイドを終える頃には、.gitignore
ファイルとは何か、なぜ重要なのか、そして Git によって追跡されないように .exe
ファイルを構成する方法を理解できるようになります。この知識は、不要なファイルがコミットされるのを防ぎ、クリーンなリポジトリを維持するのに役立ちます。
.gitignore
ファイルの操作を始める前に、いくつかの基本的な概念を理解しておきましょう。
Git は、開発者がコードの変更を追跡し、チームメンバーと共同作業を行い、プロジェクトの履歴を維持するのに役立つバージョン管理システムです。Git を使用すると、特に指示がない限り、リポジトリ内のすべてのファイルが追跡されます。
.gitignore
ファイルは、プロジェクト内で Git に無視させるファイルまたはディレクトリを指定するテキストファイルです。.gitignore
ファイルにリストされているファイルは Git によって追跡されません。つまり、コミット履歴に表示されたり、リモートリポジトリにプッシュされたりすることはありません。
.gitignore
ファイルを使用する理由はいくつかあります。
コンパイル済みファイルのコミットを回避する: .exe
ファイルなどのコンパイル済みファイルはサイズが大きくなる可能性があり、通常はソースコードから生成されるため、追跡する必要はありません。
個人の設定ファイルを防ぐ: 多くの開発者は、他の人に影響を与えない独自の構成設定を持っています。
機密情報を非公開にする: シークレット、パスワード、または API キーを含むファイルは、Git で追跡すべきではありません。
リポジトリサイズの削減: 不要なファイルを除外することで、リポジトリをより小さく、より効率的に保つことができます。
このチュートリアルでは、Windows 環境でよく見られる実行可能ファイルである .exe
ファイルの無視に焦点を当てます。これらのファイルは通常、ソースコードからコンパイルされ、Git リポジトリで追跡する必要はありません。
このステップでは、新しい Git リポジトリを作成し、.gitignore
の動作を実証するためにいくつかのファイルを追加します。テスト環境を設定するには、以下の手順に注意深く従ってください。
まず、プロジェクト用の新しいディレクトリを作成し、それを Git リポジトリとして初期化することから始めましょう。
ターミナルを開きます。デフォルトのディレクトリ /home/labex/project
にいるはずです。
gitignore-test
という名前の新しいディレクトリを作成し、そこに移動します。
mkdir gitignore-test
cd gitignore-test
新しい Git リポジトリを初期化します。
git init
次のような出力が表示されるはずです。
Initialized empty Git repository in /home/labex/project/gitignore-test/.git/
次に、.exe
ファイルをシミュレートするファイルを含め、リポジトリにいくつかのテストファイルを作成しましょう。
シンプルなテキストファイルを作成します。
echo "This is a regular text file" > readme.txt
.exe
ファイルをシミュレートするファイルを作成します(デモンストレーション用)。
echo "This simulates an executable file" > program.exe
別のテキストファイルを作成します。
echo "This is another text file" > notes.txt
Git リポジトリのステータスを確認して、Git がどのファイルを追跡しているかを確認します。
git status
次のような出力が表示されるはずです。
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
program.exe
readme.txt
nothing added to commit but untracked files present (use "git add" to track)
この時点では、Git が .exe
ファイルを含むすべてのファイルを未追跡として表示していることに注意してください。次のステップでは、.exe
ファイルを無視するように Git に指示する .gitignore
ファイルを作成します。
リポジトリがいくつかのテストファイルで設定されたので、.exe
ファイルを無視するように Git に指示する .gitignore
ファイルを作成します。
ターミナルで、まだ gitignore-test
ディレクトリにいることを確認します。
pwd
出力は次のようになります。
/home/labex/project/gitignore-test
nano
テキストエディタを使用して、.gitignore
ファイルを作成します。
nano .gitignore
nano エディタで、すべての .exe
ファイルを無視する次の行を追加します。
*.exe
*
は「任意の文字」を意味するワイルドカード文字です。したがって、*.exe
は「.exe 拡張子を持つ任意のファイル」を意味します。
Ctrl+O
を押してファイルを保存し、Enter
を押して確認します。Ctrl+X
を押して nano を終了します。
Git リポジトリのステータスをもう一度確認します。
git status
次のような出力が表示されるはずです。
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
notes.txt
readme.txt
nothing added to commit but untracked files present (use "git add" to track)
program.exe
が表示されなくなったことに注意してください。これは、.gitignore
の設定により、Git がそれを無視していることを意味します。
それでは、残りのファイルを Git に追加し、最初のコミットを行いましょう。
無視されていないすべてのファイルを Git に追加します。
git add .
コミットされる内容を確認します。
git status
次のような出力が表示されるはずです。
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: notes.txt
new file: readme.txt
最初のコミットを行います。
git commit -m "Initial commit with .gitignore configuration"
次のような、コミットを確認する出力が表示されるはずです。
[main (root-commit) xxxxxxx] Initial commit with .gitignore configuration
3 files changed, 3 insertions(+)
create mode 100644 .gitignore
create mode 100644 notes.txt
create mode 100644 readme.txt
これで、.gitignore
ファイルを正常に作成し、すべての .exe
ファイルを無視するように設定しました。Git は現在、.gitignore
ファイル、readme.txt
、および notes.txt
を追跡していますが、program.exe
は無視しています。
.exe
ファイルを無視するように .gitignore
ファイルを設定したので、正しく動作することを確認するためにテストしましょう。
別の .exe
ファイルを作成します。
echo "This is another executable file" > another_program.exe
通常のテキストファイルを作成します。
echo "This is a new text file" > new_file.txt
Git リポジトリのステータスを確認します。
git status
次のような出力が表示されるはずです。
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
new_file.txt
nothing added to commit but untracked files present (use "git add" to track)
another_program.exe
が出力にリストされていないことに注意してください。これは、.gitignore
ファイルが正しく機能しており、Git がすべての .exe
ファイルを無視していることを確認しています。
Git によって既に追跡されているファイルを変更した場合に何が起こるかも見てみましょう。
readme.txt
ファイルにいくつかのテキストを追加します。
echo "Adding more content to this file" >> readme.txt
もう一度ステータスを確認します。
git status
次のような出力が表示されるはずです。
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: readme.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
new_file.txt
no changes added to commit (use "git add" and/or "git commit -a")
これは、Git が readme.txt
への変更を追跡していることを示しています。これは、readme.txt
が無視されていないためであり、.exe
ファイルは引き続き無視されています。
変更を追加してコミットしましょう。
無視されていないすべてのファイルを追加します。
git add .
変更をコミットします。
git commit -m "Added new file and modified readme"
コミット履歴を表示します。
git log --oneline
最新のコミットが一番上に表示された、2 つのコミットが表示されるはずです。
これで、.gitignore
ファイルを正常にテストし、.exe
ファイルを無視しながら、リポジトリ内の他のファイルを追跡できることを確認しました。
.exe
ファイルを無視するために .gitignore
を使用する基本を理解したので、いくつかの高度なパターンとベストプラクティスを探求しましょう。
.gitignore
ファイルは、より柔軟なファイルマッチングのためにさまざまなパターンをサポートしています。
特定のファイルを無視する:
specific_file.txt
ファイルの種類を無視する:
*.exe
*.log
*.tmp
ディレクトリを無視する:
build/
temp/
特定のディレクトリ内のファイルを無視する:
logs/*.log
無視対象から特定のファイルを除外する:
!important.exe
いくつかの追加パターンで .gitignore
ファイルを更新しましょう。
編集のために .gitignore
ファイルを開きます。
nano .gitignore
次の行をファイルに追加します(既存の *.exe
行を含む)。
## Ignore all .exe files
*.exe
## Ignore log files
*.log
## Ignore the temp directory
temp/
## Do not ignore this specific executable
!important.exe
Ctrl+O
を押してファイルを保存し、Enter
を押して確認します。Ctrl+X
を押して nano を終了します。
更新された .gitignore
ファイルをテストしましょう。
ディレクトリといくつかの追加のテストファイルを作成します。
mkdir temp
echo "This is a temporary file" > temp/temp_file.txt
echo "This is a log file" > debug.log
echo "This is an important executable" > important.exe
Git リポジトリのステータスを確認します。
git status
次のような出力が表示されるはずです。
On branch main
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
important.exe
no changes added to commit (use "git add" and/or "git commit -a")
Git が debug.log
と temp/
ディレクトリ内のすべてを無視していることに注意してください。ただし、important.exe
は、!important.exe
パターンで明示的に除外したため、無視されていません。
プロジェクトの最初に .gitignore ファイルを作成する: 最初のコミットを行う前に .gitignore
を設定することをお勧めします。
個人的な設定にはグローバル .gitignore を使用する: すべてのリポジトリに適用される個人的な設定用のグローバル .gitignore
ファイルを作成できます。
具体的なルールを含める: 誤って重要なファイルを無視しないように、何を無視したいかを具体的に指定します。
.gitignore ファイルにコメントを付ける: 特定のファイルまたはディレクトリが無視されている理由を説明するために、コメント(#
で始まる行)を追加します。
プログラミング言語のテンプレートを確認する: 多くのプログラミング言語とフレームワークには、オンラインで利用できる推奨される .gitignore
テンプレートがあります。
これらのベストプラクティスに従い、.gitignore
で利用可能なパターンを理解することで、Git がリポジトリで追跡するファイルを効果的に管理できます。
このチュートリアルでは、.exe
ファイルの無視に焦点を当て、Git リポジトリで Git が追跡するファイルを効果的に管理するために .gitignore
ファイルを使用する方法を学びました。達成したことの概要は次のとおりです。
Git リポジトリで .gitignore
ファイルを使用する目的と利点について学びました。
テスト用の Git リポジトリを作成し、Git がファイルをどのように追跡するかを理解するためにサンプルファイルを追加しました。
.gitignore
ファイルを作成し、すべての .exe
ファイルを無視するように設定し、Git による追跡を防止しました。
さらにファイルを追加し、.exe
ファイルが実際に無視されていることを確認することにより、.gitignore
の設定をテストしました。
Git リポジトリを効果的に管理するための高度な .gitignore
パターンとベストプラクティスを探求しました。
プロジェクトで .gitignore
を実装することにより、コンパイルされたバイナリ、一時ファイル、機密情報など、追跡する必要のないファイルを除外することで、クリーンなリポジトリを維持できます。これにより、リポジトリをソースコードと重要なファイルに集中させることができ、より効率的になり、他のユーザーとのコラボレーションが容易になります。