gitでまとめてrevert
git push -f ではなくまとめてrevertする方法メモ(いつも忘れるし、push -f とか一人のときはやっちゃう)
流れ
- revertをする(--no-edit つけてeditorを起動しない)
- ここでresetのように過去のcommit指定する方法はないのか?
- HEAD~5 みたいにかけるのか
- rebase で squashする(=押しつぶす/統合する)
- squashしたコメントをeditorで編集
- push
$ git log --oneline 2f05e27 aaa d56fd0f bbb 8c1c711 ccc f7d9739 ddd 00fdd3d eee $ git revert --no-edit 2f05e27 $ git revert --no-edit d56fd0f $ git revert --no-edit 8c1c711 $ git revert --no-edit f7d9739 $ git revert --no-edit 00fdd3d $ git rebase -i HEAD~5 editor起動 pick => squash に書き換える
英語圏だと-(ハイフン)ではなくダッシュというようだ。--はダッシュダッシュとでも言うのか。(不明) squash a cockroach(ゴキブリを押し潰す)でsquashは完全に覚えた
PHPプロジェクト(Laravel)をHerokuへpush時にFailed to detect set buildpack
$ git push heroku master Counting objects: 255, done. Delta compression using up to 4 threads. Compressing objects: 100% (226/226), done. Writing objects: 100% (255/255), 46.83 KiB | 0 bytes/s, done. Total 255 (delta 110), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: -----> Failed to detect set buildpack https://github.com/heroku/heroku-buildpack-php remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure remote: remote: ! Push failed remote: Verifying deploy... remote: remote: ! Push rejected to xxxxxxxxxxxxxxxxx. remote: To https://git.heroku.com/xxxxxxxxxxxxxx.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://git.heroku.com/xxxxxxxxxxxxx.git'
確認する事
- composer.lock がpush 対象になっているか
- なぜかignore global でcomposer.lockを含めていた(過去追加したので経緯は覚えてない)
- ignore 対象のファイルの場合は git add -f xxx
- composer.json が存在するか
- buildpack がheroku/php と指定されているか
- heroku laravel のドキュメントを読む
試した事
- 上記を試したが改善せず
- 結局は、git init -> heroku create -> git push heroku master を行い、git remote add でGithubを追加し、Githubのリポジトリをmergeして回避
- remote が複数ある事が原因ではない事は確認済だが、git init -> heroku create の順に実行する必要があるのか原因は不明
利用したコマンド
- heroku config -- 設定状況を確認
- heroku buildpacks -- buildpackが何か確認
Laravelからのメール送信時にgmailを利用する(local dev env)
Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8 https://support.google.com/mail/?p=BadCredentials v65sm18105484pfi.42 - gsmtp "
メール送信時に上記エラーが発生した場合は、 Gmailの2段階認証:オン にして、アプリパスワード再発行
Gmailはログイン時のパスワードと外部でSMTPとして利用する際のパスワードが違う。 ログイン時のパスワードをLaravelのenvファイルに書いた場合に上記エラーが発生する。 (何年か前も書いた気がするが、忘れてたので再度書く)
気がつくと、6月の投稿を最後に何も書いてなかった。 その間にRubyKaigi行ったり、AppleWatchS2使い始めたりとネタはあったはずだが。。。。。
最近は家でスタンディングデスク環境も作ったので、その辺も近々。 明後日から沖縄に行くので、帰ってからまとめる。
最近はTHE WALKING DEAD ばかり見てて、Season4に入ったところ。さすがに飽きて来てる。
Backlogから通知されたissueをmenubarに表示
BitBarを使ってBacklogの通知を表示again
必要なpackage
書いてみたソース
ちょい気になった所
- submenuを選択した後に、選択した前のissueがmenubarに表示される謎の動き
- 結果として、puts "---" のハイフン3つが必要 (documentに記載あり)
BitBarを使ってBacklogの通知数をメニューバーに表示
ただscript書いてbitbarを試したかっただけの投稿
* 通知が来たらBacklogの文字列が赤くなり、サイドメニューで件数表示
必要なpackage
BaclogAPIでの通知数 ( response json )
{"count": 0}
BacklogAPIの通知数を取得してmenubarに表示する
- KEYはBacklog上から取得
- curl で取得して "| jq .count" でcountを取得
/plugins/backlog.10m.sh #!/bin/bash BKEY='your backlog api key' TITLE='Backlog' NOTIFY=`curl -sS https://yourspace.backlog.jp/api/v2/notifications/count\?alreadyRead\=false\&apiKey\=$BKEY | /usr/local/bin/jq .count` [ $NOTIFY -gt 0 ] && echo "$TITLE | color=red" || echo "$TITLE | color=green" echo "---" [ $NOTIFY -gt 0 ] && echo $NOTIFY" | color=red" || echo $NOTIFY" | color=green"
今後試したい事
- shell以外でも書けるみたい
- ほかにもいろいろプラグインがあるのでソースみたい
- https://getbitbar.com/
参考にしたい
ORA-01476出たのでNVL/NULLIFの確認
Oracle ORA-01476 について
- 0除算なんだけど、NULLIF/NVLの違いが詳しく理解出来てなかったのでメモ
SQL> SELECT 2 / 0 FROM dual; SELECT 2 / 0 FROM dual * 行1でエラーが発生しました。: ORA-01476: 除数がゼロです。
- 分母の除数が0の場合はnullを渡す
SQL> SELECT 2 / NULLIF(0, 0) FROM dual; 2/NULLIF(0,0) -------------
NULLIF
- 第一引数と第二引数が一致した場合にnullを返す
- NVLと同様にnullの場合に0を返すイメージだったが、nullを返すという事で納得
参考
PHPのinteractive shell psyshを利用する
がbrew update で Permission denied
/usr/local/bin/brew: line 28: /usr/local/Library/brew.rb: Permission denied /usr/local/bin/brew: line 28: exec: /usr/local/Library/brew.rb: cannot execute: Undefined error: 0
brewがいる /usr/localに権限がないとか
この記事を参考にさせて頂きました
$ sudo chown -R `whoami` /usr/local $ cd /usr/local $ git reset --hard origin/master
あとは、psyshのgithub READMEを参照
- composerのpathを通してREADMEの通りに対応
export PATH=~/.composer/vendor/bin:$PATH
$ brew update && brew install composer $ composer global require psy/psysh # If asked what version constraint to use just type `*`
- pshsyを叩く
➜ /tmp psysh Psy Shell v0.7.2 (PHP 5.5.31 — cli) by Justin Hileman >>> echo "interactive mode にするためにpsyshって打つのを思い出すのが一番つらい"; interactive mode にするためにpsyshって打つのを思い出すのが一番つらい⏎ => null >>>