エス技研

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/」というフォルダを作成し、それを管理対象にしたい、と言う想定です。
 
 

手順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関連技術

GoogleAdwords

GoogleAdwords

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

Message

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

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

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

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

  関連記事

.htaccessのmod_expiresでブラウザキャッシュで高速化でSEO対策!

Page Speed Insightsの指摘事項のファイルのブラウザキャッシュの設定方法。解説もしてるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!

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

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

ブラウザのキャッシュを活用するの対策!広告バナーを消して表示を高速化

あなたのサイトが遅いのはバリューコマースのバナーではないですか?バリューコマースのバナーを外すだけでmod_deflateとmod_expiresを設定するより効果があります!

.gitignoreを更新しても反映されないときは「git rm -r --cached .」でキャッシュを削除
.gitignoreを更新しても反映されないときは「git rm -r –cached .」でキャッシュを削除

gitの.gitignoreを変更しても記述内容が反映されない時がある。それはGitのキャッシュが残っているため。そんなときは「git rm」コマンドを使ってキャッシュを削除すれば解決する。

Selenium WebDriver、Pythonをインストールしブラウザ自動操作の環境構築手順のまとめ

ブラウザを自動操作しテストを実行するロボットをselenium WebDriver+Pythonの環境を構築し、動作確認までの手順のまとめ。初心者向けに詳細解説。サンプルソースも。

本当に?GMO系ロリポップ・ヘテムルを無料で運用する方法があった!

ロリポップ、ヘテムルを株主優待を利用して実質無料で運営しよう!という解説記事です。株主優待で提供されるサービスの内容を解説し、無料になる仕組みを解説します。

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

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

CentOS環境に ntpdをインストールして自動的に時刻を取得する設定にする
CentOS環境に ntpdをインストールして自動的に時刻を取得して合わせる設定にする

VirtualBoxに構築した CentOSの環境の時計がずれているとき、ntpdをインストールし、時計を合わせる方法を解説。NTPサーバを指定する方法や ntpdを自動起動する設定も解説。

直リンク禁止の.htaccessを超分かりやすく解説。日本語じゃなくてPHPで説明

直リンクを禁止する.htaccessの記述内容を日本語ではなくPHPで解説!私自身もこの方法ですっかり理解できました。.htaccessって簡単!って思えますよ。

Beautiful Soupを利用してPythonでスクレイピングを行う環境構築方法の解説

BeautifulSoupはPythonでスクレイピングを行う際に便利なツール。インストール方法も簡単。ただ、事前にpipのインストールが必要でその解説もしてます。