ex)コミット:A1(コメント1) - A2(コメント2)
1.リベース(rebase -i)する
git rebase -i HEAD~~
2.A1のコミットメッセージのpickをsquashに変更して終了
pick A2 コメント2
pick A1 コメント1
↓
pick A2 コメント2
squash A1 コメント1
参考:
http://www.backlog.jp/git-guide/stepup/stepup7_5.html
$ git branch --contains
ex)developブランチ と hogeブランチでコンフリクト
$ git co hoge
$ git rebase -i develop
〜コンフリクトを修正する〜
$ git rebase --continue
〜コンフリクトが解消されるまで続ける〜
競合が解決してた場合
$ git rebase --skip
rebaseを諦める
$ git rebase --abort
参考(分かりやすかった):
http://bleis-tift.hatenablog.com/entry/20100219/1266552535
macのみ?viは実体ではなく、vimのsymlinkなのでエラーになるとのこと
$ ls -l /usr/bin/vi
lrwxr-xr-x 1 root wheel 3 9 22 22:03 /usr/bin/vi -> vim
$ ls -l /usr/bin/vim
-rwxr-xr-x 1 root wheel 1745984 1 13 16:12 /usr/bin/vim
core.editorに実体のvimを明示的に指定してあげることで解決
$ git config --global core.editor "vim"
参考:
http://qiita.com/StupidDog/items/ca1e8a110400bfa4eb1b
ここ
$ cat ~/.gitconfig
設定しないとlessになる
$ git config --global core.pager ''
command ⌘/shift ⇧/option ⌥/control ⌃/caps lock ⇪/fn
プレーンテキストとしてペーストするショートカット
command + shift + option + v
以下コマンドで5GB以上のディレクトリを確認
$ sudo du -g -x -d 5 / | awk '$1 >= 5{print}'
参考:
https://discussionsjapan.apple.com/docs/DOC-1081
- システム環境設定 > セキュリティとプライバシー > スリープとスクリーンセーバの解除にパスワードを要求
- 開始後: 5秒後 に設定(好みで変更)
- システム環境設定 > デスクトップとスクリーンセーバ > スクリーンセーバタブ > ホットコーナーボタン
- 画面のコーナーへの昨日割り当て
- (好きな位置で)スクリーンセーバを開始する を設定
- (念のため)スクリーンセーバを無効にする も開いている場所に設定
※ キーチェーンアクセスの設定もあるがこっちのほうが楽
.propertiesファイル(日本語)を編集する
vimでファイルを開いた後
>:%!native2ascii -reverse
ファイル保存前
>:%!native2ascii
参考:
http://qiita.com/kamichidu/items/ffdbd6d68b392711ba1d
vimの拡張版?
vimよりもキーレスポンスが早くなる気がするので優先的に使用している
インストール方法
$ brew tap neovim/neovim
$ brew install neovim
nvimはpython(> 2.7 or 3)が必要らしい。詳細ログを残していないがここらへんのコマンドで設定
$ pip install --upgrade setuptools
$ pip install --upgrade pip
$ pip show neovim
$ pip install neovim
起動
$ nvim
.vimrcのgererater(すばらしい)
サイト:
http://vim-bootstrap.com/
- 個別の設定を行う
~/.config/nvim/local_init.vim - 個別のbundleの設定
~/.config/nvim/local_bundles.vim
ctrl+r -> ctrl+w
.vimrcにこのスクリプト記載
if executable('osascript')
let s:keycode_jis_eisuu = 102
let g:force_alphanumeric_input_command = "osascript -e 'tell application \"System Events\" to key code " . s:keycode_jis_eisuu . "' &"
inoremap :call system(g:force_alphanumeric_input_command)
autocmd! FocusGained *
\ call system(g:force_alphanumeric_input_command)
endif
参考 https://keikenchi.com/vim-auto-ei-su
Option + → と Option + ← で単語単位移動させる
iTerm2 -> Preferences -> Profiles -> Keys -> "+" から、以下の内容を新規作成する。
右に移動:
Keyboard Shortcut: Option + →
Action: Send Escape Sequence
Esc + : f
左に移動:
Keyboard Shortcut: Option + ←
Action: Send Escape Sequence
Esc + : b
参考:
http://qiita.com/hokutoasari/items/e2442b87c7b381f9ff7c
https://github.com/mbadolato/iTerm2-Color-Schemes.git
$ find . -maxdepth 1 -name "*.bak"
./.dein.toml.bak
./.dein_lazy.toml.bak
./.vimrc.bak
./vim_area.bak
ex.)8080ポートで実行中のプロセス
$ lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 11979 masa 111u IPv6 0xa60cc3d7a0d6d09 0t0 TCP *:http-alt (LISTEN)
不要ならばkillコマンド
$ kill -9 11979
git diffのように[+]と[-]で表示
$ diff -u foo.txt bar.txt
TODO:
いっそのことaliasにしてもよい
alias diff='diff -u'
$ diff 旧ファイル 新ファイル
で実行すると新旧の差分が正確に見える
# 起動していないコンテナをvolumeごとすべて削除
$ docker ps -aqf status=exited | xargs docker rm -v
# tagなしイメージをすべて削除
$ docker images -qf "dangling=true" | xargs docker rmi
#コンテナに紐付いていないvolumeをすべて削除
$ docker volume ls -qf dangling=true | xargs docker volume rm
- Plugins > Browse repositories… > lombok.jarを検索
- MavenないしGradleに追加
- Annotation Processors > Default > Enable annotation processing にチェック
参考:
http://siosio.hatenablog.com/entry/2013/12/23/000054
$ ./node_modules/.bin/webpack-dev-server --progress --colors --hot --port 9000
参考:
https://webpack.github.io/docs/webpack-dev-server.html
postgres -D /usr/local/var/postgres
設定しておくとパスワードを省略させてくれる
$ cat ~/.pgpass
以下の内容で設定する
ホスト名:ポート番号:データベース名:ユーザ名:パスワード
テーブル情報を見やすくさせる際に設定する
$ cat ~/.psqlrc
テーブル構造の確認、クエリのパフォーマンスの確認する
mysql> EXPLAIN SELECT * from hoges;
EXPLAINの見方参考(他にもググれば出てくる)
http://kiyotakakubo.hatenablog.com/entry/20101126/1290733254
# 起動
$ mysql.server start
# 再起動
$ mysql.server restart
# 停止
$ mysql.server stop
# ログイン
$ mysql -h ホスト名 -P ポート番号 -u ユーザー名 -p [データベース名]
# ログアウト
(psql): \q == (mysql): exit;
# データーベースを作成
(psql): createdb database_name == (mysql): create database database_name;
# データベース一覧を表示
(psql): \l == (mysql): show databases;
# データーベースへ接続
(psql): \c database_name == (mysql): use database_name;
# テーブル一覧を表示
(psql): \dt+ == (mysql): show tables;
# テーブルカラムの一覧表示
(psql): \d+ table_name == (mysql): desc table_name;
# ユーザーを作成
(psql): createuser user_name == (mysql): create user user_name;
# ユーザー一覧を表示
(psql): \du == (mysql): select user, host from mysql.user;
# パスワード設定(db名、テーブル名をワイルドカードで指定の場合 => *.* )
※ユーザ名とホスト名は明示的に指定しないと匿名ユーザの影響を受けてしまうので注意
grant select on `db名`.テーブル to ユーザ名@‘ホスト名’ identified by ‘パスワード’;
# 権限の確認(ホスト名をワイルドカードで指定の場合=> % )
show grants for ‘ユーザ名’@‘ホスト名’;
# 権限追加(db名、テーブル名をワイルドカードで指定の場合 => *.* )
grant super(とかallとか) on `db名`.テーブル to 'ユーザ名'@'ホスト名';
flush privileges; # 権限反映させる
$ nmap localhost
〜省略〜
3306/tcp open mysql
~/.my.cnf にパスワードを設定
~/develop-pass.my.cnf
~/production-pass.my.cnf
など
--defaults-extra-fileでファイルを指定して接続する(めんどそうならalias設定を考える mysql-devなど)
mysql --defaults-extra-file=$HOME/develop-pass.my.cnf -u dbuser1 db1
※ .my.cnfには接続情報の細かい設定が可能らしい
dir=/path/to/dir; [ ! -e $dir ] && mkdir -p $dir
eオプションは実行結果がエラーかどうかを判定
ER図を見るために幸せにするツール
DL先
http://schemaspy.sourceforge.net/
・Javaも必要
・Graphvizも設定する必要がある
Graphviz
http://www.graphviz.org/
実行方法(TODO:スクリプト化する)
$ java -jar schemaSpy_5.0.0.jar -t pgsql -dp postgresql-9.4.1209.jar -host localhost:5432 -db DB名 -s public -u ユーザ名 -p パスワード -o ./output_schema_spy -charset utf-8
UML記述ツール
専用のjarを落として使用するのも良いが、Atomのplantuml-viewerを使用するのが正義と思われる
javaとGraphvizも別途必要
以下がよくまとまっている
http://pierre3.hatenablog.com/entry/2015/08/23/220217
topコマンドの拡張ツール
topコマンドが見やすくなるのでおすすめ
# インストール
$ brew install htop
# 起動
$ htop
コンソール画面でjson形式のデータをいい感じに確認できるようにするツール
# インストール
$ brew insall jq
使い方まとめサイト(ググれば出てくる)
http://qiita.com/takeshinoda@github/items/2dec7a72930ec1f658af
http://qiita.com/Nakau/items/272bfd00b7a83d162e3a
対象ホストの開いてるportを確認
# インストール
$ brew insall nmap
# 使い方例
$ nmap localhost
その名の通りdiffコマンドに色を付ける
# インストール
$ brew install colordiff
# 使い方例
$ colordiff -u a.txt b.txt
colordiffにaliasを貼っておくとより良い
$ vi ~/.bash_profile
export LESS='-R'
if [[ -x `which colordiff` ]]; then
alias diff='colordiff -u'
else
alias diff='diff -u'
fi
macのsedコマンドは面倒くさいようすなのでgsedを使う
# インストール
$ brew install gnu-sed --with-default-names
使い方
例)先頭行にhogeを挿入
$ gsed -i '.bak' "1s/^/hoge\n/“ test.txt
windowsにはある例のtreeコマンド
# インストール
$ brew install tree
#ヘルプ確認
$ tree —help
# 階層指定
例)2階層まで表示
$ tree -L 2
cdコマンドを幸せにする
インストール、使い方周りはここから確認:
https://github.com/b4b4r07/enhancd
.bashrcから.bash_profile以下を書き換えいる(書き替えたほうが動きが安定した)
$ vi ~/.bash_profile
source ~/.enhancd/enhancd.sh
インタラクティブに検索するツールも必要なのでpecoを入れた
$ brew install peco
解説サイト:
http://qiita.com/b4b4r07/items/2cf90da00a4c2c7b7e60
ディレクトリのブックマーク
設定ファイルのディレクトリとかlogディレクトリとかどこだっけ?を考えたくないので重宝
インストール、使い方周りはここから確認:
https://github.com/huyng/bashmarks
必要な設定
$ vi ~/.bash_profile
source ~/.local/bin/bashmarks.sh
コードの複雑さを数値化するものらしい
言語別の解析ツールなどあったら試してみたい
http://szk-takanori.hatenablog.com/entry/20111219/p1
thanx!