最近よく使うコマンド達
ちょくちょく忘れるのでメモ
git
develop ブランチ等で、GitHub の最新版のコードに更新する場合
-
git pull --rebase- rebaseするときに使う
- 単純なpullよりも履歴が綺麗になるらしい(実感はなし)
-
git submodule update --init --recursive- 別管理してるgitリポジトリをupdateするために使う(DBとか)
作業ブランチ: 作業中のコードを一旦退避させ、GitHub の最新版のコードに更新する場合
-
git fetch -p- remotes/origin/xxxx の branchを最新に更新 & 存在しなくなった物を削除するお掃除コマンド
- https://blog.junpeko.com/git-fetch-prune
-
git stash- WIP のコードを退避する
-
git merge --no-ff remotes/origin/develop- マージコミットを作成する
- https://tracpath.com/docs/git-merge/
-
git stash pop- 退避したコードを復帰する
サブモジュールを更新する場合
- サブモジュールの GitHub リポジトリを更新する
- main に直接 push する、などで
-
git submodule foreach git pull --rebase- submodule を更新する
サブモジュールの更新が、うまくいかない場合
-
cd conf/database- サブモジュールのディレクトリに移動する
-
git branch-
* mainとなることを確認する - そうでない場合、
git checkout main- で
mainブランチに移動する
-
-
git pull --rebase-
mainブランチを最新にする
-
-
cd ../..- 作業ブランチに戻る
-
git statusmodified: conf/database (new commits)- のように、サブモジュールが更新していることを確認する
- コミットして push
- GitHub に push する
Docker
-
docker-compose down- コンテナを停止させる
-
docker-compose up -d- コンテナを起動させる
-
-dオプションは、コンテナをバックグラウンドで起動し、実行し続けるために使う。 - https://docs.docker.jp/compose/reference/up.html
-
rm -rf docker/volumes/var/lib/mysql- ボリュームマウントを削除する
- スキーマ定義が変わった際、ボリュームマウントが残っていると、以前のデータが立ち上がるため、必要であれば実行する
-
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin AWS_ACCOUNT_ID.dkr.ecr.ap-northeast-1.amazonaws.com- Amazon ECR プライベートレジストリに対して Docker を認証する
- https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/registry_auth.html
-
docker pull AWS_ACCOUNT_ID.dkr.ecr.ap-northeast-1.amazonaws.com/REPOSITORY:TAG- Amazon ECR からイメージをプルする
- https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/docker-pull-ecr-image.html
-
docker run --name NAME -p 4200:80 -d REPOSITORY:TAG- ローカルで、docker image を実行する
-
docker exec -it CONTAINER_ID bash- コンテナの中に入り、ディレクトリ構造を確認する
SQL データ
-
gzip dirName/fileName.sql- .sql ファイルを圧縮する
- 開発用 DB の SQL データを GitHub リポジトリに push する前に行う
-
db=dbName; time mysqldump -hxxx.xxx.xxx.xxx -PportNumber -uuserName -p -B ${db} | gzip > dirName/${db}.sql.gz- DB を dump する
-
gzipコマンドで、.sql.gz形式に圧縮する -
-Bオプションで、 CREATE DATABASE / USE の記述を含める -
timeコマンドで、かかった時間を出力する
-
- DB を dump する
-
gzip -d dirName/fileName.sql.gz- .sql.gz ファイルを解凍する
-
source dirName/fileNmae.tsv- Google スプレッドシートから DL した tsv を使って、既存テーブルを UPDATE する
- csv ファイルでは、全列文字列となってしまうので注意
- tsv ファイルで DL しましょう
- Google スプレッドシートから DL した tsv を使って、既存テーブルを UPDATE する
MySQL
-
mysql -uuserName -hxxx.xxx.xxx.xxx -p -PportName- mysql にログインするコマンド
-
load data local infile "/dirName/fileName.extention" into table DBName.tableName fields terminated by ',' optionally enclosed by '"' ignore 1 lines;- 指定テーブルに、ローカルファイルのデータをインポートするコマンド。
-
terminated byオプションで、区切り文字を指定する。'.'はカンマ区切りを指定。 -
enclosed byオプションで、囲い文字を指定する。'""'はダブルクオートを指定。 -
ignore 1 linesオプションで、先頭行を無視する。 - 参考
-
TRUNCATE table DBName.tableName;- 指定テーブルのデータを全削除する。
node-sass
-
GitHub Actions で使う node バージョンを確認する
strategy: matrix: node-version: [10.13.0]- これで、セットするべき node バージョンを確認できる
-
yarn add node-dass@4.12- node-sass のバージョンを指定してインストールする。
- node.js のバージョンを上げる場合、node-sass のバージョンも上げること。
- 例: Node 12 -> node-sass 4.12+
- https://www.npmjs.com/package/node-sass
-
yarn why node-sass- node-sass 周りでエラーが起きたら、これを叩く。
- 依存関係を調べてくれる
- 例:
"gulp-sass" depends on it - https://blog.furu07yu.com/entry/yarn-gyp-err
シェルコマンド
- URL の IP アドレスを確認する
nslookup SOME_URL
- リダイレクト先を確認する
curl -I -L SOME_URL | grep ^Location
- HTTP のステータスコードだけを表示する
curl -LI SOME_URL -o /dev/null -w '%{http_code}\n' -s
- ポートの使用状況を確認する
lsof -i:PORT_NUMBER
- sbt の使用状況を確認する
ps aux | grep sbt
AWS
- 現在のプロファイル名を表示する
echo $AWS_PROFILE
- 現在設定されているプロファイルを確認する
aws configure list
- プロファイルを切り替える
export AWS_PROFILE=SOME_PROFILE
EC2 (Debian 系)
- bash を使用
$ bash
- ホームディレクトリに移動
$ cd ~/
- apt-get を update
$ sudo apt-get update
- mysql-client を install
$ sudo apt install mysql-client