git diff をまとめる

git diff を徹底攻略!よく使うオプションまとめ | WWWクリエイターズ

これ、わかりやすかった。

 

 

もし比較元を指定しない場合は、デフォルトで、「インデックス」を比較元とし、 [インデックス] → [作業ツリー] と比較した際の差分を表示

https://kray.jp/blog/git-pull-rebase/

 

 

以下引用

 

最新のコミットとの差分を見る

// [最新コミット] → [作業ツリー] の差分を見る
git diff HEAD

 

 

インデックスとHEADの差分を見る

// [最新のコミット] → [インデックス] を比較する
git diff --cached
git diff --cached HEAD // 同義

 

やりたい事 git diffコマンド
インデックス → 作業ツリー git diff
HEAD → 作業ツリーの比較 git diff HEAD
HEAD → インデックス git diff --cached

 

 

// ファイル名だけを比較する
git diff --name-only

 

// 比較するファイルを限定する
git diff <コミット名> <コミット名> ―― <ファイル名>

 

// パスやファイル同士を比較する
git diff <コミット名>:<ファイル名> <コミット名>:<ファイル名>

 

// HEADの一個前 から HEADへの変化を表示
git diff HEAD^ HEAD

 

 

 

リモートブランチからmasterをpull する前に「どのくらい先にすすんじゃったんだろ?」なんて、事前に調べたい時に使います。

git pull は、いうなれば「git fetch & git merge」ですので、いきなり git pull を実行すると、いきなりローカルブランチにマージがかかってしまいます。

 

// リモートを取ってきて・・
git fetch origin master

// [ローカル] → [リモート追跡]の差分を見る
git diff master origin/master

 

 

 

// ファイル内のスペースの数の違いを無視する
git diff -b
git diff --ignore-space-changes

 

// ファイル内のスペースを完全に無視する
git diff -w
git diff --ignore-all-space

 

 

 

// 差分を文字レベルで表示する
git diff --word-diff

 

// 差分を文字レベルで表示する。色と+、ーだけで、差分を表現する
git diff --word-diff=color

 

// git diff HEAD --word-diff と同じ効果
git diff --color-words

 

 

word-diff のモード一覧


color
色だけを使って差分をハイライトする。

 

plain (デフォルト)
単語の差分を、[-removed-]と[+added+]を使って表示する。デリミタが入力に発生してもエスケープしない。出力が曖昧になることがある

 

porcelain
単語の違いを新しい1行を使って表示する。(通常は行内で差分を表現するが、必ず1行でadd, removedを表現する、porcelainは、結構読みにくいです・・。)

 

none
--word-diffを.gitconfigなどで強制している際に、word-diffをオフにするときに使う。

 

 

 

 

 

 

 

 

 

GitのRebaseがいまだによくわからない

概念は理解できるんだが、想定通りに行かない

 

履歴を残さずに、差分を取り込もうと思って、

作業中のブランチで以下を行った

git pull --rebase origin master

 

想定通り、履歴を残さずに差分を取り込めた

 

しかし、作業中ブランチにpushしたところエラーになった

error: failed to push some refs to 'git@github.com:xxxxxx/xxxxxxxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 

 

というわけで元に戻した

Git 間違って rebase しちゃったのを元に戻したい - かもメモ

git log

git status

git reflog

git reset --hard HEAD@{26}

 

 

 

リベースについて、もう一度学ぶ。

 

git pull と git pull –rebase の違いって?図を交えて説明します! – KRAY Inc.

 

以下引用

 

git fetch

リモートのコピーちょうだい

 

git merge master 

ローカルリポジトリのmasterの内容を自分に取り込む

 

origin/ブランチ名 はリモート追跡ブランチのこと

 

git rebase

マージと違ってリベースの場合はコミットを新しく作りなおすので、リベース前とはコミット自身の id と親の id が変わります

親のidが変わると、すでにリモートリポジトリにブランチをプッシュしていた場合、リモートにあるブランチの親の id が一致せずプッシュできなくなり(rejectされ)ます。

 

git pull

git pull origin master = git fetch + git merge origin/master

 

 

 

git rebaseのちょっとしたまとめ - Chiroru's Diary

現在いるブランチを、rebaseしてきたブランチの先頭にくっつける

 

この時、現在いるブランチのコミットを一瞬退避(一時保存)し、rebaseしてきたブランチに現在いるブランチをgit reset --hardして、保存していたコミットを上にのせる仕組みです。


リベースを行うとコミットのidが変わり、別物として扱われます。これはコミットが新しく作られるためであり、リモートリポジトリに既にpushしていた場合は、ローカルと一致しなくなってしまいpushできなくなります。

 

 

 

困ったときの git reset コマンド集 - Qiita

ワーキングツリー : 最新のファイル状態
インデックス : コミットするためのファイル状態
ローカルリポジトリ : ファイルの変更履歴を記録(ローカル環境)
リモートリポジトリ : ファイルの変更履歴を記録(共有できる)

 

git add : 「ワーキングツリー → インデックス」
git commit : 「インデックス → ローカルリポジトリ
git push : 「ローカルリポジトリ → リモートリポジトリ」

 

reset --hard :add、commit、ワーキングツリーの取り消し
reset --mixed:commitとaddの取り消し。
reset --soft :commitのみ取り消し。

 

HEAD

最新のコミットの状態を表している
@でも表現ができる : HEAD = @
^ や ~ をつけることで直前のコミットを表すことができる : HEAD^ 、 HEAD~

 


直前のコミットをなかったことにする
git reset --soft HEAD^

 

直前のコミットを取り消し
git reset --hard HEAD^

 

コミット後の変更を全部消したい
git reset --hard HEAD

 

addを取り消したい
git reset --mixed HEAD

 

git resetをなかったことにする
git reset --hard ORIG_HEAD

 

 

 

まぁ結局のところ、リベースはいまいちよくわからない。

以下が説明になるんだろうが。

 

現在いるブランチを、rebaseしてきたブランチの先頭にくっつける

この時、現在いるブランチのコミットを一瞬退避(一時保存)し、rebaseしてきたブランチに現在いるブランチをgit reset --hardして、保存していたコミットを上にのせる仕組みです。

リベースを行うとコミットのidが変わり、別物として扱われます。これはコミットが新しく作られるためであり、リモートリポジトリに既にpushしていた場合は、ローカルと一致しなくなってしまいpushできなくなります。

 

 

どういう時に使えばいいのかよくわからない。

同時進行してるものを計画的に結合する作業の時は、「計画的に」使えば有りだと思うが、日常の作業で全エンジニアが使うものとしては微妙な気がする。

というか、リスクが大きい気がする。

 

メモリサイズのエラー PHP Fatal error: Allowed memory size of

メモリサイズエラー

PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/aaaaa/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 419
PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 32768 bytes) in /var/www/aaaaa/vendor/symfony/error-handler/Error/FatalError.php on line 1

 

 

現在

$ php -r 'phpinfo();' | grep memory_limit
memory_limit => 128M => 128M

PHPのメモリ上限を変更する - blog

 

 

PHPに直接記述して一時的にメモリ上限を上げる

これで行けた

ini_set('memory_limit', '3072M');

【PHP】Allowed memory size of *** bytes exhaustedエラーの対処法まとめ - Qiita

 

 

ちなみに使ってるEC2のメモリは1GBだったので、1GB以下にしないといけないな。

 

 

 

 

 

使っている

バイクを買った

BMWの G 310 R を買った。

G 310 R|カラー選択|BMW Motorrad Japan見積シミュレーション

2022 BMW G 310 R in Cosmic Black 2 at Euro Cycles of Tampa Bay Florida - YouTube

 

1年前からバイクの購入を検討していて、

DUCATI SCRAMBLER Sixty2 を狙ってたんだけど、生産中止になったらしく、

どうしようかと思って帰り道に寄ったBMWで、ある意味一目惚れした。

https://www.autoby.jp/_ct/17457418

 

 

じっくりと考えて、仕事が落ち着いてから、また見に行ったら成約済になってた。

しかし、別店舗にあるやつを購入した。

すべて込みで80万円ちょっと。

 

BMWの車台番号から詳細を確認できるサイト

Free BMW VIN Decoder : ///M Decoder

 

 

 

 

約1ヵ月後の納車までに、ヘルメットなどの装備品を買わないといけない。と同時に、20年ぶりくらいに乗るので、乗車に慣れておきたい。

ペーパードライバー用の教習所を探してみたが、高い。。

 

 

 

ペーパーライダーがバイクの練習を出来る教習所

関東圏ではここが一番安かったけど、現在受付中止してるらしい。

大宮自動車教習所

入所金 5,000円(税込5,500円)

技能料金(1時限当り) 大型:4,000円(税込4,400円) 普通:3,500円(税込3,850円)

 

他の教習所は、2万円以上。

2時間で、3万円~4万円が多かった。

 

 

 

ヤマハで大人のバイクレッスン

09:00~16:00、8,000円

レッスンはコース内容に応じて用意した車両(トリッカー/250ccもしくはセロー/250cc)で行います。

ライディングに必要なヘルメット、グローブ、プロテクターはなるべぐご自身の物をご持参ください。(レンタルのご用意はあります)

スケジュールと料金:大人のバイクレッスン - バイク,スクーター | ヤマハ発動機株式会社

日程が合えばかなり魅力的。

しかし、納車日までに開催予定は無かった。

 

 

 

バイクをレンタルして、自分で練習することにしようと思う。

CT125・ハンターカブのレンタルならHondaGO BIKE RENTAL | バイク詳細

2時間 ¥2,500

安っ

 

Rebel250のレンタルならHondaGO BIKE RENTAL | バイク詳細

2時間 ¥6,500

 

AirRide よくある質問 | レンタルとは異なる個人間バイクシェアサービス

個人間レンタルだと、

24時間 4,000円くらい

 

 

 

ホンダの C125をレンタルして、自分で練習する方法にしようと思う。

ホンダ(HONDA) スーパーカブC125 | Super Cub C125の型式・諸元表・詳しいスペック-バイクのことならバイクブロス

 

補償について

立ちゴケ対応プランもあるホンダGOバイクレンタルの保険と補償

 

車両保険 ¥1,454

安心補償GO ¥3,200

 

車両保険は、全額自己負担とほぼ変わらない

安心補償GOであれば、自己負担額ゼロ

しかし盗難の場合は、本体価格の20%が必要 + 各種登録に関する費用

 

 

 

 

Adobe Acrobatを起動すると真っ白な画面が表示される

Acrobat Reader DCを起動すると真っ白な画面が表示される

 

そもそも、Adobe Acrobat DC と  Acrobat Reader DC の違いって何なんだ

Adobeは前から言ってるけど、本当に嫌い

 

今回は、Acrobat Reader DC を立ち上げると、

真白な画面が表示されて、それを × を押して閉じると、Adobeが落ちる。

意味不明。

 

原因としては、Internet Explorerの設定が原因だった。

AWS Workspaces上でWindowsを立ち上げてるんだけど、それはWindows Serverの仮想環境になってるから、Windows Serverの設定で Internet Explorerのセキュリティ設定を変更しないといけないと。

 

Internet Explorerのセキュリティ強化が有効になっている場合 : 使えるねっと :: Tsukaeru.net

1. VPS内画面左下「スタート」-「管理ツール」-「サーバーマネージャ」を開き、画面内左のメニューより「ローカルサーバー」を選択します。
2. 「プロパティ」内に「IEセキュリティ強化の構成」がございます。こちらが「無効」となっていれば、問題ございません。
※「有効」となっている場合は、「有効」の青い文字をクリックし、「Administrators グループ」と、「Users グループ」をオフにしてから、 OKをクリックし、「無効」にしてください。

 

これで真っ白画面が解消されて、Adobe Acrobatを使えるようになった。

本当にAdobeはクセが強い。

 

iTunesAdobe、まじで嫌い。

 

 

そして何故か、「自分が共有」という場所に、共有した覚えのない発注書が登録されている。

たぶん気付かずに、共有してしまっていたパターン。

https://acrobat.adobe.com/link/documents/shared_by_you/

 

これとか大問題なんですけど。

そして、「共有を解除」しても表示されたまま。

「削除」しても表示されたまま。

再度、削除や共有解除をしようとすると、ありませんって表示される。

本当にクソシステムだと思う。

 

defer と async の区別が分からないので調べた

前からよくわからずに、何となく使ってたやつ

ちなみに preconnect はCSS用らしく、jsでは意味が無いみたい

 

 

・async も defer もレンダリングを妨げずに、jsを読み込むことができる

・src がある場合のみ利用可

レンダリングを妨げないのだから、headで読み込み始めた方がいい

・async は単独で読み込む、 defer は記述の上から順に読み込む

・jsを直書きする場合は下部に記述

 

 

これが一番わかりやすかった

スクリプト: async, defer

 

次がこれ

最速はasync付きでhead要素に記述

script要素の新常識・安易にdefer/async属性を付けてはいけない - Qiita

 

【scriptの非同期読み込み】asyncとdeferの違いと使い方。bodyではなくheadで読み込んだ方が良い理由。 - ソロ学

 

URL内にスラッシュが連続して複数あると404エラーになる

色々と試行錯誤したけど、結局わからない

 

Laravelで、URL内に スラッシュが連続して複数あると、404エラーになるっぽい

Laravel 7.x更新で発見したこと(2)URLの余分なスラッシュ – ララジャパン

 

ただ、同じLaravelバージョンを使ってるのに、開発環境では再現しないという。

サーバのconfに設定してる値が影響してそうな気もするんだけど、よくわからない。

 

httpd.conf に RewriteEngine を設定して、

// を含む場合は、 / に変換して、リダイレクトという手を使おうかと思ったが、

これもうまくいかない。

そもそも、このやり方は根本解決になっていないから、あまり好きではない。

Apache | RewriteCondディレクティブ:URLのリライト/リダイレクトを行う条件を定義する

 

参考情報として、

Laravelの routes/web.php  の最上部にルーティングを書いたけど、

URL内に // がある場合は、変わらず404エラーになるから、routes/web.phpの書き方の問題ではなく、それ以前の問題。

どうしようか。

 

 

 

原因と対処法がわかった。

web.phpに フォールバックルート を記述することで解決した。

Route Fallback: If No Other Route is Matched - Laravel Daily

Routing - Laravel - The PHP Framework For Web Artisans

Undocumented Laravel (1) Routing 編 - Qiita