Git管理のソースを元に新しく構築する環境に反映させる手順
2025/03/23
Git管理のソースを使って新しい環境を構築する
Gitで管理しているソースを使用して、新しい環境を構築する方法を解説します。
例えば、下記のような想定です。
・進行中のプロジェクトに参加し、ローカルに開発環境を作る
・ローカルで開発しているものを、AWS上に検証環境を作る
・リリースが近づいてきたので、AWS上に本番環境を作る
また、最近は、ほとんどの場合はフレームワークを使用して開発をしていると思いますので、フレームワークの設定も含めた環境構築の手順を解説します。
(私は CakePHPをメインで使用していますので、CakePHPを想定して書きますが、他のフレームワークでも同じようにできるはずです。)
今回は、
「ローカルでの開発が終盤に近付いてきたので、本番環境を構築する」
という想定で説明していきます。
Git管理のソースを新しく構築する環境に反映させる手順
CakePHPの基本的な環境を構築する
まず最初に、本番環境にローカル環境と同じフレームワークをインストールします。
CakePHPの場合は、LAMP環境を構築し、まっさらな CakePHPをインストールします。
CakePHPのバージョンを調べる方法、および、バージョンを指定して CakePHPをインストールする方法は下記の記事を参考にしてください。
「CakePHP3、CakePHP4、CakePHP5のバージョンを指定してインストールする詳細な手順を解説」
「CakePHP2、CakePHP3、CakePHP4、CakePHP5のバージョンを調べる 2つの方法」
※LAMP環境の構築については Googleで検索してください。
この段階で、DBの設定、テーブルの構築などを行い、インストールした CakePHPが動作することを確認しておきます。
また、Gitで管理していないライブラリ等のインストールもこのタイミングで実行しておきます。
例えば、「Authentication(認証処理)」など。
https://book.cakephp.org/authentication/3/ja/index.html
「Authentication(認証処理)」については、下記にも記事を書いていますので参考にしてください。
「CakePHP4、CakePHP5系の認証処理でログインの有無の確認、ユーザ情報の取得の方法」
「CakePHP4、5のユーザ認証でID、PASS以外の削除フラグなども条件加える方法」
Gitのインストールと初期設定
Gitがインストールされているか否かの確認
Gitがインストールされているか否かを確認します。
1 2 |
$ git --version git version 2.47.1 |
上記のようにバージョンが表示されれば Gitはインストールされています。
「-bash: git: command not found」の場合はインストールされていませんので、Gitをインストールします。
Gitのインストール
Gitがインストールされていない場合は、インストールを行います。
AWSの AL2023の場合は dnfを利用してインストールします。
(「update」でインストールするパッケージを最新化し、「install」でインストールします。)
1 2 |
$ sudo dnf update $ sudo dnf install git -y |
yumを利用してインストールする場合もコマンド形式は全く同じです。
1 2 |
$ sudo yum update $ sudo yum install git -y |
インストールを実行し、「Complete!」と表示されると完了です。
改めて、「git --version
」を実行してバージョンが表示されることを確認します。
Gitの設定
続いて、CakePHPを構築している環境で Gitを使用できるように設定します。
1 2 3 |
$ cd /var/www/html/ $ git init $ git remote add origin https://ID:PASS@example.com/sample/sample.git |
「cd」コマンドで開発をしているアプリのドキュメントルートに移動します。
「git init
」で Gitを設置します。
続いて、「git remote add
」で Gitで管理しているリポジトリの情報を追加します。
詳しい説明が必要な場合は、下記のサイトなどが参考になるかと思います。
https://www.sejuku.net/blog/71492
ソース一式を pullする
続いて、ソースを「pull」します。
1 |
$ git pull origin master |
ここでは、「master」ブランチを「pull」していますが、必要なブランチを pullしてください。
そうすると、下記のようなエラーが発生します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ git pull origin master remote: Enumerating objects: 1234, done. remote: Counting objects: 100% (1234/1234), done. remote: Compressing objects: 100% (880/880), done. remote: Total 1234 (delta 1111), reused 880 (delta 660), pack-reused 0 Receiving objects: 100% (1234/1234), 3.33 MiB | 4.44 MiB/s, done. Resolving deltas: 100% (1111/1111), done. From https://example.com/sample/sample.git * branch master -> FETCH_HEAD * [new branch] master -> origin/master error: The following untracked working tree files would be overwritten by merge: .editorconfig .gitattributes .github/ISSUE_TEMPLATE.md : 中略 : webroot/img/cake.power.gif webroot/index.php webroot/js/.gitkeep Please move or remove them before you merge. Aborting |
これは「pullしようとしているファイルがすでにありますよ」というエラーです。
CakePHPを普通にインストールした上に pullしていますので、既にファイルがある場合もあるでしょう。
というワケで、重複しているファイルを削除していきます。
重複しているファイルを削除する
ファイルのリストを一つずつ見ながら ftpなどで削除してもいいのですが、重複しているファイルのリストを、テキストファイルなどにコピペして、行頭に「rm」コマンドを追加します。
そして、これを改めてコンソールにコピペしてまとめて削除します。
この方法を使えば、抜け漏れなく簡単に指定のファイルを削除できます。
1 2 3 4 5 6 7 8 9 |
rm .editorconfig rm .gitattributes rm .github/ISSUE_TEMPLATE.md : 中略 : rm webroot/img/cake.power.gif rm webroot/index.php rm webroot/js/.gitkeep |
https://qiita.com/h-pod/questions/c9aafa4cb872ef68dfc5
ただ、上記の記事によると「コピペ」する際の文字数には「4096文字」という上限があるようですので、無理せず、20~30行ずつくらい実行するとよさそうです。
全部削除が終わったら、改めて、pullを実行すれば、Gitで管理している環境が出来上がります。
1 |
$ git pull origin master |
pullした「master」ブランチができていることを確認します。
1 2 |
$ git branch * master |
最新の情報が pullで来ていることを logで確認します。
1 2 3 4 |
$ git log --oneline 0b7f0b7 (HEAD -> master, origin/master) 3rd Commit d34cd34 2nd Commit 7570757 First Commit |
ブラウザでアクセスし、ローカル環境と差異がないかを改めて確認します。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
.gitignoreで無視フォルダの中の特定のファイルを除外「!(否定文)」を使う場合の注意点
Gitで管理する対象、対象外のファイル、フォルダの指定は .gitignoreに記述する。その基本的な記述の方法に加え、無視対象にしたフォルダの中の特定のファイルを管理対象にする記述方法を解説。
-
-
サイト更新、引越時に.htaccessでリダイレクトする方法解説
サイト更新,引越しなどでサイトのURLが変わった場合のリダイレクトを.htaccessのRewriteEngineを使って処理する方法の解説です。
-
-
chromedriver.exe – ディスクがありませんと出てSeleniumの設定が上手くいかない
Selenium WebDriverを使ってChromeを自動操作する仕組みを作る際、chromedriver.exeを利用しますが、ディスクがありません、というエラーが発生する場合があります。その対処方法を解説します。
-
-
PythonでURLの有無、存在をチェックするスクリプト
PythonでURLが存在するか否かのチェックスクリプト。ライブラリ「urllib2」を使い、指定のURLにアクセスしそのレスポンスコードを判別するという仕組み。
-
-
.gitignoreを更新しても反映されないときは「git rm -r –cached .」でキャッシュを削除
gitの.gitignoreを変更しても記述内容が反映されない時がある。それはGitのキャッシュが残っているため。そんなときは「git rm」コマンドを使ってキャッシュを削除すれば解決する。
-
-
FTPでダウンロード時にファイルが重複するため上書きしますか?と表示される問題
FTPでファイルをダウンロードする際に「ファイルが重複しています。上書きしますか?」というメッセージが出る場合がありますが、これの原因と対策、解決策の記事です。
-
-
.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!
Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!
-
-
So-netのレンタルサーバHSはヤバイ・借りてはいけないレンタルサーバリスト
餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、単独でSo-netを紹介。OEMでサービスの提供を受けているだけなので何とも残念すぎる内容。
-
-
コピーコンテンツ・直リンクの3つの対策Google通報などのまとめ
コピーコンテンツを発見したときにやること!Googleに通報、画像の直リンクを禁止、RSSの全文配信を停止。この対策をしないとあなたのサイトの評価も下がるかも!
-
-
XSERVERにCakePHP3をインストール。コマンドラインのPHPのバージョンを変更する方法で解決
XSERVERにCakePHP3をインストールするときに問題となるのはサーバーパネルとSSH接続の時とで認識されるPHPのバージョンの違いがあるため。その解消方法を解説する。