エンジニアとしてプロジェクトに関わるとき、ソースコードの編集や精査が業務の中心となってきます。 一方でプロジェクトの進行管理やソースコードのリリース先などはクライアントやインフラ構成によって変わってきます。 複数のプロジェクトに横断的に関わるとき、ブラウザのブックマークから辿って情報を検索するよりも ソースコードに対してプロジェクト進行やドキュメントの管理場所を紐づけてしまおうという思想で機能を整備しています。
2 つのコマンドを追加します。
Git や Docker などに関するスニペット集です。 第 2 引数にアクションを指定することで、さまざまな操作を行います。 ファイルを一括で名称変更したり、タイマーを表示したりといった便利コマンドのほか プロジェクトのリポジトリ単位でのコマンドを使うと、プロジェクトのディレクトリ配下でコマンドを実行した際に 適した操作をするよう、設定ファイルにパスなどを保持しておくことができます。 各開発プロジェクトでタスク管理・コード管理・インフラ構成などを完全に統一して管理することは難しく 複数のプロジェクトを横断する際に、都度設定を確認したりドキュメントを参照する必要が出てしまいます。 プロジェクトごとの設定をファイルに保持しておくことで、情報へのアクセスやソースファイルの操作を迅速に行うことができるようになります。
一例として以下のようなコマンドがあります。詳細はto help
で確認できます。
to develop
develop ブランチをチェックアウトして最新に更新するto git pulls
Git の設定を読み取り、リポジトリのプルリクエストをブラウザで開きますto open
Docker や Vagrant の設定を読み取り、ローカル環境の URL を開きます
あいまい検索を使ってワークスペースディレクトリ内をスピーディに移動できます
プロジェクトのディレクトリに移動してto
コマンドを併用することで
情報のアクセスやファイル操作を CLI で完結することもできます。
ws # ワークスペースルートに移動
mkdir example_project
ws expj # example_project に移動
フックを追加
index.sh を読み込むことで各コマンドが追加されるので、~/.zshrc
などに以下のコードを追加します。
.zshrc に関する他の設定はzshrc.sampleを参照してください。
[ -f ~/.zsh/index.sh ] && source ~/.zsh/index.sh
設定が終わったらコマンドを読み込みなおします。
source ~/.zshrc
コマンドを使って設定ファイルを作成します。
to edit --init
各コマンドの詳細はヘルプメッセージを参照してください。
: ヘルプメッセージの表示
to help
/git 配下のファイルを~/gitconfig
に組み込むことで Git にさまざまな設定が追加されます。
gitignore
汎用的なグローバルの Gitignore 設定pre-commit
コミット時、変更点にデバッグコードが含まれる場合はコミットを中止する- その他設定
gitconfig.sample.iniにサンプル設定があるため、各項目を適宜~/.gitconfig
に反映してください。
以下コマンドで差分を表示できます。
to git init
Git の挙動がすべてのリポジトリで変更されるため、特別な操作は不要です。
- index.sh スクリプトを読み込む
- src/ シェルスクリプトのコード
- tool.sh
to
コマンド本体 - constants.sh 定数週
- functions.sh
- settings.sh
- tool.sh
- git/ Git の設定に関するファイル
- config/ 設定ファイル
- addon.sh 追加のスクリプト
- projects.ini プロジェクトごとの定数の設定
- store.ini 保持したいデータ (
to bl
使用時の索引) - note.txt
to note
使用時に原稿として使用
- sample/ サンプルファイル
- config/ 設定ファイルのサンプル (
to edit --init
で配置) - gitconfig.sample
~/.gitconfig
のサンプル - zshrc.sample
~/.zshrc
のサンプル
- config/ 設定ファイルのサンプル (
特定のプロジェクトに関するコードや設定はconfig/
配下に記載するようにしてください
以下のライブラリを導入しています。
- git
- nodenv
時々使用するスニペットをここに記載しておきます。
: 1時間以内に更新されたファイル
sudo find . -mmin -60 -type f | xargs ls -l {}
: 代替treeコマンド
pwd; find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g' && echo -e "\n$(find . -type d | wc -l) directories, $(find . -type f | wc -l) files"