IT関連

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

投稿日:2018年8月7日 更新日:

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

環境は、
開発環境は自席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/IBMi *DATEがおかしいと思ったらH仕様書のYが抜けている

Z-ADD *DATE YMDとし、20190107という日付を取得しようと思ったら、 1072019と表示されるのでおかしいと思った。 先頭の1は1月。2~3桁は日、後は2019年。になっている。 …

AS400/ibmi ACS RunSQLScriptsでラベルをCOLHDGにする

COLHDG(カラムヘディング)というのは、聞いた話ではAS400にのみある概念らしいですね。 AS400から入った私にとってはそれが普通だと思っていました。   通常SQLではASで別名を …

XAMPPのPHPでメール送信する

どこを調べてもPHPでメールを送るのは簡単だ。と、ドヤ顔でこんなソースを載せている。それは解ったんだけど、mb_send_mailが使えないんだよ。とブツブツ言いながら調べてphp.iniを直したりな …

WordPressのメディアファイルアップロードの制限解放

ワードプレスでメディアをアップしようと思っても、アップロードサイズ上限を超えていますと怒られてしまうことがある。   これは静止画や動画などをサーバにアップするわけだから、制限を設けておかな …

WordPressで作ったブログにアイコンをつける

私のブログのアイコンはこの方法でつけました。 アイコンを付けたい箇所は3ヶ所。 ブラウザのタイトル左の小さいアイコン YouTubeのチャンネルページに貼るリンク左のアイコン iPhoneお気に入りの …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に