エス技研

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.

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

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

  関連記事

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

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

Gitで基本的なデプロイ(push、pullで本番公開)環境を作る手順解説
Gitで基本的なデプロイ(push、pullで本番公開)環境を作る手順解説

開発進行中の環境、公開中の環境にGitを導入する。その基本的な手続きを解説。Gitの導入、ローカルリポジトリを作成。リモートリポジトリを利用し、本番環境にデプロイする手続きを解説。

さくらサーバのmb_send_mailでメール送信時にmalformed header from script 'xxx.php': Bad header: xxxのエラーが
さくらサーバのmb_send_mailでメール送信時にmalformed header from script ‘xxx.php’: Bad header: xxxのエラーが

さくらインターネットのレンタルサーバからPHPのmb_send_mail()関数を利用してメールを送信するとInternal Server Errorが発生。その原因は、メールアドレスが登録されていないこと。

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

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

Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド
Apacheの起動しているかの確認方法と起動、再起動、終了のコマンド

Apacheが起動しているかを確認する方法の解説に加え、Apacheの起動、停止、再起動のコマンドを解説。再起動のコマンドには restart、condrestart、reload、gracefulがあり、違いを解説。

EストアのショップサーブのWordPressサービスにメリット無し

ショップサーブのオプションサービスのWordPressを使ってみましたがデータベースには直接触れず使えないサービスでした。

日本語は2バイト文字?3バイト文字?

日本語は2バイトという理解でしたが、UTF-8では事情が違います。その説明です。

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

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

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

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

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

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