クイックナビゲーション
よく使うコマンド
以下のコマンドの多くは it-tools.tech をもとに、日常の開発経験から補足しています。
コードブロック内の青い文字は編集できるため、すぐに変更してコピーできます。
設定
グローバルのユーザー名とメールアドレスを設定します。
git config --global user.name "WaLudo"
git config --global user.email "waludo@gmail.com" 新しいプロジェクトを始める
新しい Git リポジトリを初期化します。
git init 既存の Git リポジトリをクローンします。
git clone https://github.com/WaLudo/waludo-tools.git コミット
追跡中の変更をすべてコミットします。
git commit -am "feat: add two cups of coffee" すべての変更をコミットします。
git add .
git commit -m "feat: add five cups of coffee" 新しい変更を直前のコミットに追加します。
git commit --amend --no-edit 失敗してしまったとき
直前のコミットメッセージを編集します。
git commit --amend 変更を残したまま直前のコミットを取り消します。
git reset HEAD~1 変更を残したまま直近 N 件のコミットを取り消します。
git reset HEAD~N 直前のコミットを取り消し、すべての変更を破棄します。
git reset HEAD~1 --hard ローカルブランチをリモートの状態に戻します。
git fetch origin git reset --hard origin/branch-name その他
ローカルの master ブランチを main に名前変更します。
git branch -m master main コミット規約
Conventional Commits v1.0.0 の仕様を参照してください。
コミットを検証する
git commit -m "feat(scope): description" Type のクイックリファレンス
| Type | 説明 |
|---|---|
| fix | バグを修正する |
| feat | 新機能を追加する |
| build | ビルドシステムを変更する(依存関係、外部インターフェース、Node バージョンなど) |
| chore | ビジネスロジック以外を変更する(ビルド手順、ツール設定など) |
| ci | 継続的インテグレーション設定(CI/CD)を変更する |
| docs | ドキュメントを変更する(README、API ドキュメントなど) |
| style | ロジックを変えずにコードの書式を変更する |
| refactor | 動作を変えずにコードを再構成する |
| perf | パフォーマンスを改善する |
| test | テストケースを変更する |
Scope
Type の後ろに括弧で Scope を付け、追加の文脈を示せます。
feat(parser): adds ability to parse arrays
破壊的変更
感嘆符は破壊的変更を示し、どの Type にも付けられます。
feat(api)!: send an email to the customer when a product is shipped
フッターに BREAKING CHANGE を含めても同じ意味になります。
複数行の本文とフッター
複数行の本文とフッターを持つコミットの例です。
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
完全な仕様
この文書にある MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY、OPTIONAL の意味は RFC 2119 に従います。
- 各コミットは Type で始め、OPTIONAL の Scope、OPTIONAL の感嘆符、REQUIRED のコロンと半角スペースを続けます
- 新機能には Type の feat を MUST 使用します
- バグ修正には Type の fix を MUST 使用します
- Scope は Type の後ろに MAY 付けられ、コードの一部を表す名詞を括弧で囲む必要があります。例: fix(parser):
- 説明は type と scope のプレフィックスにあるコロンとスペースの直後に MUST 続けます
- 短い説明の後に長い本文を MAY 置けます。本文は空行の後に MUST 始めます
- 本文の後に空行を置いて一つ以上のフッターを MAY 置けます。各フッターは token と区切り記号を MUST 含みます
- フッターの token は空白の代わりにハイフンを MUST 使います。例外として BREAKING CHANGE は token にできます
- 破壊的変更はプレフィックスの感嘆符、または BREAKING CHANGE: 説明というフッターで MUST 示します
- 感嘆符を使う場合、フッターの BREAKING CHANGE: は MAY 省略できます。説明には変更内容を SHOULD 書きます
- feat と fix 以外の Type も MAY 使用できます。例: docs: updated ref docs.
- 仕様を実装するツールは BREAKING CHANGE だけを除き、大文字小文字を区別せずに MUST 解析します
- フッター token の BREAKING-CHANGE は BREAKING CHANGE と同義として MUST 扱います