エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順

      2019/02/24

Gitでフォルダを監視対象にする手順

 

Gitはファイルを管理するがフォルダは管理できない

 
Gitで管理対象にする、しないの設定が記述されているファイルは .gitignoreです。
 
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
 
上記の記事では、「.gitignore」を利用して管理対象外にしたフォルダの中のファイルを管理対象にする方法について解説しました。
 
ですが、Gitでは、フォルダ自体を管理対象にすることができません。
 
そのため、例えば、
・ログを出力するフォルダをあらかじめ作っておきたい
・ダウンロードするファイルを保管するフォルダを作っておきたい
 
と思っても、その中にファイルが入っていないと Gitで管理対象にすることができないのです。
 
 
そんなときは、
「.gitkeep」というファイルを作成し
そのファイルをフォルダの中に設置し
そのファイルを .gitignoreに記載する
と言う手順でフォルダを Gitの管理下に置く、という方法を採る必要があるのです。
 

 

Gitで空のフォルダを管理対象にする手順

 

手順1.「.gitkeep」というファイルを作成する

 
「.gitkeep」というファイルを作成します。
ファイルの中身は空(0バイト)のファイルで OKです。
 
 

手順2.Gitの管理下に置きたいフォルダの中に「.gitkeep」ファイルを置く

 
Gitの管理下に置きたいフォルダの中に「.gitkeep」ファイルを設置します。
 
 

手順3..gitignoreに対象ファイルの設定を記述する

 
.gitignoreに、作成した .gitkeepを管理対象にする設定を記述します。
 
記述例としては以下の通りです。
 

!/tmp/download_file/
/tmp/download_file/*
!/tmp/download_file/.gitkeep

 
「/tmp/download_file/」というフォルダを作成し、それを管理対象にしたい、と言う想定です。
 
 

手順4..gitignoreをサーバにアップしてコミットする

 
.gitignoreをサーバにアップしてコミットします。
この際、Gitにはキャッシュが設定されている場合があるため、キャッシュをクリアする必要があります。
 
 

Gitで空のフォルダを管理対象にする手順についての解説

 
「手順1」の「.gitkeep」というファイルは、Gitで管理する際の慣例のファイル名とも言える名称のため、多くの方が「.gitkeep」を使っています。
 
ですが、Gitの仕組み上はファイル名は何でも問題ありません。
 
CakePHPの場合は、空のフォルダには拡張子なしの「empty」という空のファイルが置いてありますので、CakePHPの場合は「empty」というファイル名に合わせる、ということも一つの方法と言えます。
 
 
「手順3」の .gitignoreの書き方については下記に記事を書いていますので、それを参考にしてください。
「tmp」や「vendor」フォルダなど、管理対象外にしているフォルダの中のファイルを管理対象にする場合は、正しく設定するには考慮する点があります。
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
 
 
「手順4」の .gitignoreを変更した場合の設定の反映は、Gitが持っているキャッシュをクリアしないと正しく反映されない場合がよくあります。
キャッシュのクリア方法を下記の記事にしていますので参考にしてください。
.gitignoreを更新しても反映されないときは「git rm -r --cached .」でキャッシュを削除
 
 

Git関連の記事

Gitはフォルダ自体を管理対象にはできない。空のフォルダを設定する手順
.gitignoreを更新しても反映されないときは「git rm -r --cached .」でキャッシュを削除
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
Gitで「fatal: Authentication failed for 'https://example.com/git_repositories/example.git/'」のエラーが出た場合の対処方法の一つ
Gitで基本的なデプロイ(push、pullで本番公開)環境を作る手順解説
 
その他の「git」に関する記事一覧
 
 

 - プログラミング・Web関連技術

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

SyntaxHighlighterを導入してソースコードを見やすくしてみました

PHP、HTMLなどのソースコードをブログで紹介するとき、SyntaxHighlighterを利用することで見やすく提供することが出来ます。

エックスサーバーで独自SSLは永久無料で取り放題。利用方法と理由を解説!

エックスサーバーでは独自SSLが無料でいくつでも設置できるように!しかも、国、都道府県などの数項目の入力と数クリックだけという超簡単!SSL化しない理由がない!

.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!

Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!

Webサイト公開時に重複コンテンツを排除する.htaccessのリダイレクトの設定のまとめ

サイトを公開する際にはURLの正規化は必須です。正規化とは何かを解説し、.htaccessに設定すべきリダイレクトの設定を具体的に説明します。

Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法

Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。

PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法

PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。

借りてはいけないレンタルサーバ実例4社・アルファメール・WEBアリーナ

餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、具体例 4サービスを例にこんなサーバはNGと紹介しています。

コピーコンテンツ・直リンクの3つの対策Google通報などのまとめ

コピーコンテンツを発見したときにやること!Googleに通報、画像の直リンクを禁止、RSSの全文配信を停止。この対策をしないとあなたのサイトの評価も下がるかも!

サイト更新、引越時に.htaccessでリダイレクトする方法解説

サイト更新,引越しなどでサイトのURLが変わった場合のリダイレクトを.htaccessのRewriteEngineを使って処理する方法の解説です。

ロリポップからX-Serverに引越し。サーバの月額費用が増えても求めた理由は?

ロリポップからX-Serverに引越すその理由とは?SEOの観点からも少しでもサーバレスポンスが早いサーバが求められロリポップでは限界を感じたからです。