IT備忘録 プログラミング

gitでプッシュしたのに効かない件

投稿日:

ブログなので皆さまのお役にたてば幸いですが、あくまで自分の忘備録なので、昔話も含めて書いております。ご了承ください。

環境は、
開発環境は自席PC(ローカル) Windows10PC XAMPP7.2 SourceTree Laravel5.6.29 Composer
リモート先は本番環境(サーバ) LAMPP CentOS7 Laravel5.6.29 Git Fork
です。

自席PCのXAMPPで開発して、Git Pushで本番機と同期する感じです。
ドキュメントルートは/var/www/配下に置き、/opt配下にベアリポジトリとして、Hookのスクリプトを置いています。
ローカルPCのSourceTreeからベアリポジトリにプッシュし、それと同時にHookが利き、ドキュメントルートにcdして、pullする仕組みです。

 

 

いままで快適にプッシュできていたのに、ある日突然プッシュしても本番機側のソースが更新されないので、調べてみました。繰り返しますが、昨日というか先週まではなんともありませんでした。

 

週明けの今日、composerでLaravel-excelをインストールして、動作テストを行い、それをSourceTreeでプッシュしました。

 

さすがにcomposerで大量のファイルをインストールしたので、SourceTreeの動作は超重たかったです。でも問題なく終わりました。

 

ブラウザから表示を確認したところ、反映されていなかったので、とりあえずスーパーリロードを行い、それでもダメだったので、Teratermで本番機のソースを覗いてみたところ、反映すらされていませんでした。

 

再度SourceTreeを見ても、コミット対象が選択されていません(working tree clean)の文字。

 

おそらくローカルと前述したベアリポジトリとは同期が取れているのだと思われる。

 

とりあえず、本番機の/var/www/配下から、git –git-dir=.git pullでベアリポジトリからデータを引っ張ってこようとする。

 

したら、下記のエラー。わからん。コミットしろよと言ってるみたい。

error: Your local changes to the following files would be overwritten by merge:
vendor/composer/autoload_classmap.php
vendor/composer/autoload_static.php
Please, commit your changes or stash them before you can merge.
Aborting

 

 

git statusは、こんな感じ。これもコミットしろよと言ってるみたい。

# On branch master
# Your branch is behind ‘origin/master’ by 2 commits, and can be fast-forwarded.
# (use “git pull” to update your local branch)
#
# Changes not staged for commit:
# (use “git add <file>…” to update what will be committed)
# (use “git checkout — <file>…” to discard changes in working directory)
#
# modified: config/database.php
# modified: vendor/composer/autoload_classmap.php
# modified: vendor/composer/autoload_static.php
#
no changes added to commit (use “git add” and/or “git commit -a”)

 

この現象は、本番機側のコードが何かの拍子に変わってしまっており、それを放っておいて、ローカル側のプッシュは受け入れられないということらしい。

 

だからコミットしろと言ってるみたい。でも、本番機側でコミットしたらローカル側のコードとどうやって整合性が取れるのか心配。

 

で、いろいろ調べてみたところ、Laravelなどのフレームワークの場合は特に、本番機側のコードが勝手に変わってしまうことがあるみたい。

 

そんなの.gitignoreで無視するように設定しとけよって話なのかもしれないが、とりあえず今のところよく解りません。

 

そのときは、cd /var/www/配下(私の環境の場合)で、git checkout . とすると変更を元に戻してくれるみたい。

 

元々checkoutは元に戻すって話らしいからね。

 

そして改めて、git –git-dir=.git pullをすると、ブワーって感じでcomposerでインストールしたファイル群を取り入れ始めた。

 

その後は無事動くようになった。めでたしめでたし。

 

あ、ちょっと記憶にないけど、もしかしたらリモート側で、php artisan cache:clearと、php artisan config:cacheをしてから正常動作するようになったかもしれない。

スポンサーリンク




スポンサーリンク




-IT備忘録, プログラミング
-, , , , , ,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

AS400からデータを取得 ExcelVBA 設定編

注意 これは私の環境下における私の備忘録です。お使いの環境によっては内容が異なる場合があります。システム管理者でない方は絶対にやらないでください。システムにはログが残るものなので、万が一があればクビに …

WordPress Stinger8で固定ページにAdsense広告を表示する

なんでStringer8を使い出したんだろうか。もう経緯も忘れたが、Adsense広告も簡単に貼れるし、特に不自由はしていない。というかとても便利だ。   トップの画像がいまだにString …

WordPressのテーマ pacifyで検索窓が使えない

備忘録やTipsを作るのに、WordPressのテーマでpacifyが見やすいので使用してみた。 Tipsが1つ1つのカードの形で表示されるので見やすく気に入っているが、右上の検索がどうも動かない。 …

XAMPPのShellを開けない。0xc0000142

Windows10パソコンにXAMPPを入れて、Shellを起動したら下記のようなエラーが出た。   アプリケーションエラー。0xc0000142。 解決法は、ググっても日本語では出てきやし …

gitで本番と開発環境の連携 初めてのデプロイ

これは自分用の備忘録です。職場での操作なので画像はありません。他のサイトの説明が難しすぎて、文字だけでもヒントが欲しいという私と同じレベルの人はどうぞ。何があっても責任は取れませんがご参考までに。 & …