Git の gitkeep と gitignore

Abdul Jabbar 2023年1月30日
Git
  1. Git の .gitkeep.gitignore の違い
  2. gitkeep ファイルを使用して Git の空のフォルダーをコミットする
Git の gitkeep と gitignore

Git は、チーム間のソースコードの管理に使用されます。このトピックに進む前に、Git には空のディレクトリを追跡する機能がないことを知っておく必要があります。

空のディレクトリがある場合、Git はどのような状況でもそれを無視します。Git で使いたい機能です。

ディレクトリにファイルを挿入するとすぐに、Git はリポジトリ内のそのディレクトリの追跡を開始します。このファイルは何でもかまいません。または、ファイルはチームのビジネスに関連するもので構成されていると言えます。

空のファイルは .gitkeep ファイルと呼ばれ、Git ユーザーが別の空のプロジェクトディレクトリを保持する Git リポジトリを作成するために使用します。ファイルのない空のディレクトリは、Git リモートリポジトリにコミットされません。

ただし、ディレクトリ内の .gitkeep ファイルにより、Git はリポジトリ内のディレクトリを維持できると言えます。

Git の .gitkeep.gitignore の違い

.gitkeep は、公式の Git 標準の一部ではないが、一部の Git クライアントによって従来の方法で導入されたファイル拡張子です。

この拡張子の名前は .gitkeep です。これは、Git の .gitignore 規則の反対であるため、当然のことです。これは Git の公式ファイル拡張子であり、コードファイルを実行またはリモートリポジトリにプッシュするときに無視されるファイルを Git にガイドします。

.gitignore ファイルは、追跡されていないファイルを検索するときに git によって無視するファイルを一覧表示するために使用されます。空のファイルを Git に保持し、リポジトリで追跡されていないファイルを検索するときにそれらを無視するのに役立つと説明できます。

Git では空のディレクトリをブランチに保存することは許可されていません。したがって、プッシュする空のディレクトリを追跡する必要がある場合は、他の開発者がチームで簡単に理解できるフォルダに .gitkeep ファイルを作成することでそれを実現できます。

そのフォルダにファイルを追加すると、ディレクトリ構造をコミットしてリモートリポジトリにプッシュできるようになります。チームがプロジェクトを事前に定義している場合、このフォルダーが必要ですが、まだファイルがないことは明らかです。

任意の名前でラベルを付けることができます。 .gitkeep または .gitkeep は、慣例として使用されています。

gitkeep ファイルを使用して Git の空のフォルダーをコミットする

Git に空のディレクトリをリモートリポジトリにプッシュさせるには、以下の手順に従って .gitkeep 規則を使用します。

  • コマンドプロンプトで mkdir コマンドを使用して空のフォルダを作成します。
  • コマンドプロンプトで cd コマンドを使用して、空のディレクトリに移動します。
  • コマンドプロンプトで touch .gitkeep コマンドを使用して .gitkeep ファイルを作成します。
  • git add . を使用します Git インデックスを更新します。
  • その後、Git コマンドを使用して git commit を実行します。
  • 最後に、空の Git ディレクトリを使用してコミットをリモートリポジトリにプッシュします。
$ mkdir empty-folder
$ cd empty-folder
$ touch .gitkeep
$ git add .
$ git commit -m "How to Commit empty folder in Git with gitkeep file."
$ git push origin
著者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn