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 デバグ・デバッグ STRISDBの気づき

自分備忘録です。使い方よく解りません。逆に教えてほしいくらいです。 なんでそんなことするの?バカなの?死ぬの?そう思った方は教えて下さい(笑) 他にもこんな便利な機能使ってないの?というのも大歓迎です …

AS400/IBMi Laravelでユーザーの使用ログを取る

ユーザーにデータベースの内容を照会するシステムを作ってきたけど、ログを取らないと、誰がどんなメニューを使ったのか、このメニューは誰か使ってくれているのかが解らないので、ログを取るようにしたい。 手順は …

Laravel DBクラスのSQLで1件だけ取り出したい場合

Laravelを使いだして、はや数ヶ月たらず。   青本を勉強して、MVCモデルにのっとり、モデルでテーブルを定義して、コントローラーでモデルを呼び出し、そのテーブル情報をビューに受け渡しつ …

AS400/IBMi に対してPCからFTPで通信する

接続 Windowsコマンドプロンプトを開く C:\User\User> ftp ftp> open IPアドレス ユーザーIDを入力する パスワードを入力する   使えるコマン …

AS400/IBMi ユーザーがバツで消して立ち上がらない件

ユーザーがエミュレーターを×で落としたり、本来閉じておくタイミングで閉じてないなどで異常終了してしまうことが多々あります。   そうなると端末が立ち上がらなくなるので、ユーザーからシステムへ …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に