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を管理対象にする設定を記述します。
記述例としては以下の通りです。
|
1 2 3 |
!/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」に関する記事一覧
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!
Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!
-
-
直リンクとは何か?直リンクとディープリンクの違いと著作権問題
直リンクは著作権違反なのか?議論の前にまず「直リンク」の意味を正しく理解しよう。直リンクは他のサイトの画像を読み込む、ディープリンクなど多様な意味がある。
-
-
コピーコンテンツ対策.htaccessで直リンク禁止しリダイレクトで対応
不正なコピーコンテンツからの直リンクを拒否する.htaccessの設定方法。拒否するサイトを指定、許可するサイトを指定する方法、単純な拒否と画像の差し替えを解説。
-
-
PythonでMySQLへの接続ライブラリMySQL-pythonの簡単インストール方法
PythonはMySQLに接続するライブラリは別途インストールが必要。なのでMySQL-pythonライブラリのインストール方法とサンプルスクリプトで動作検証までを解説。
-
-
Git管理のソースを元に新しく構築する環境に反映させる手順
Gitで管理しているソースを使って環境を構築する方法を解説。CakePHPを使う想定で、環境を構築したのちpullして、重複ファイルを削除して、改めてpullすれば出来上がる。
-
-
コピーコンテンツ・直リンクの3つの対策Google通報などのまとめ
コピーコンテンツを発見したときにやること!Googleに通報、画像の直リンクを禁止、RSSの全文配信を停止。この対策をしないとあなたのサイトの評価も下がるかも!
-
-
Webサイト公開時に重複コンテンツを排除する.htaccessのリダイレクトの設定のまとめ
サイトを公開する際にはURLの正規化は必須です。正規化とは何かを解説し、.htaccessに設定すべきリダイレクトの設定を具体的に説明します。
-
-
mod_pagespeedカスタマイズで高速化を詳細解説・Google謹製
mod_pagespeedをデフォルトのまま使っていませんか?mod_pagespeedはデフォルトのままでも速い!でも仕組みを理解し設定し直せばより速くなる!
-
-
PythonでURLの有無、存在をチェックするスクリプト
PythonでURLが存在するか否かのチェックスクリプト。ライブラリ「urllib2」を使い、指定のURLにアクセスしそのレスポンスコードを判別するという仕組み。
-
-
Pythonをコマンドラインで実行。全角文字(日本語)を引数にする場合の対処方法
Pythonをコマンドラインで実行する際、引数を付与して実行する方法の解説。その時問題となる日本語(全角文字)を利用する方法を解説。Windows環境での解説。