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 *

関連記事

Atomの便利なショートカット 備忘録

プログラミング用エディタAtomの便利なショートカットの備忘録です。   Ctrl+n ファイル新規作成 Ctrl+\ ツリービューの表示・非表示切り替え Ctrl+Shift+d カーソル …

AS400を自力で無料でWeb化 GUI化 PHP/Laravel開発編

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

AS400を自力で 無料で Web化 GUI化 PHP/Laravel設定編 1/2

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

WordPress 初期設定でパーマリンクを変えてもエラー404

ワードプレスも使い慣れてきたことだし、テーマ作成やらMVCの触りを勉強できそうだなと思って、dotinstallの動画で勉強してたんだ。 ちなみに私は開発環境XAMPPでの運用で、VirtualHos …

Windows 右クリックからの送るに起動したいプログラムを登録する

やり方 ファイル名を指定して実行を開き(Winキー+R)、 shell:sendto と入力してエンターキーを押す。フォルダが開くのでその中にプログラムのショートカットを入れる。   使い道 …