検索条件
お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
run
コマンドでサービスを指定してコマンドを蹴ると実行結果が取れる
- e.g.
docker-compose run node-git 'npm' 't'
- コマンドを複数繋げる場合はシェルを呼び出してやる
- e.g.
docker-compose run node-git 'sh' '-c' '"ls -la && grep foo"'
./test.zsh: 2 行: read: -q: 無効なオプションです
read: 使用法: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
- 但しこれは動く
echo "yes or no (y/N): "; if read -q; then; echo hello; else echo abort; fi
echo 'yes or no (y/N): '
if read -q; then
echo y
else
echo n
fi
#!/bin/zsh
echo 'yes or no (y/N): '
if read -q; then
echo y
else
echo n
fi
いくつか方法があるが、正直どれも使わないに越したことはない。しかし業務上の様々なしがらみなどでやむを得ず使うハメになることがある
リモートの変更まで無視してしまうと事故の元なので一番オススメ
git update-index --[no-]skip-worktree
を使う
.env
のような個々人の環境によって異なるものがリポジトリ管理対象になっているときに使える
- ブランチの切り替え時のコンフリクト対策としてはスクリプトを組んでおくと楽
- ブランチで
--skip-worktree
となっている対象の変更を隠す
# --skip-worktreeの一括解除
git ls-files -v | grep ^S | sed -r 's/^S.(.+)$/\1/g' | xargs git update-index --no-skip-worktree
# 出てきた変更を全てスタッシュに入れる
git stash push -q -m stash_skiptree
- 前項で隠した変更を再現して、
--skip-worktree
し直す
# stashから戻す
git stash pop -q
# この時点での差分に対し--skip-worktree
git diff --name-only HEAD | xargs git update-index --skip-worktree
リモート側で重大な変更があったときにローカルで検知できないので事故りやすい
git update-index --[no-]assume-unchanged
を使う
使ったことないので存在だけ記述して終わり
--[no-]skip-worktree
も--[no-]assume-unchanged
も使えないときにユースケースが存在するやつ
.git/info/exclude
に無視対象のパスを記述することで無視できる
- 自分のローカルにだけこっそり存在する
docker-compose.override.yaml
みたいなのを無視するときに使える
余計な例外を投げてくるのが面倒なのでそれを無視できるように
Env |
Ver |
PHP |
7.1.3 |
Xdebug |
2.9.4 |
VSCode |
1.48.0 |
"ignore"
セクションを追加してそこに書いたファイルから出た例外は無視される
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9001,
"ignore": [
"**/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
]
}
]
}