git の一般的なブランチ命名
master: メインブランチ、安定版のリリースに使用
develop: 開発ブランチ、各機能ブランチのマージに使用
feature: 機能ブランチ、新機能の開発に使用
hotfix: 緊急修正ブランチ、オンラインバグの修正に使用
release: リリースブランチ、新バージョンのリリースに使用
git の一般的なコマンド
git config
git init: ローカルリポジトリを初期化
git config --global user.name "yourname": ユーザー名を設定
git config --global user.email "youremail": メールアドレスを設定
git config --global core.editor "vim": デフォルトエディタを設定
git config --global color.ui true: 色を設定
git config --list: 設定情報を表示
git remote
git remote add origin xxx: リモートリポジトリを追加
git remote -v: リモートリポジトリ情報を表示
git remote rm origin: リモートリポジトリを削除
git remote set-url origin xxx: リモートリポジトリのURLを変更
git remote show origin: リモートリポジトリ情報を表示
git clone
git clone xxx: リモートリポジトリをクローン
git clone xxx yyy: リモートリポジトリをクローンしてリネーム
git clone xxx --depth=1: リモートリポジトリをクローンして最新のコミットのみを取得
git branch
git branch: ブランチを表示
git branch -a: すべてのブランチを表示
git branch -d xxx: ブランチを削除
git branch -D xxx: ブランチを強制削除
git branch -m old new: ブランチをリネーム
git merge xxx: ブランチをマージ
git rebase xxx: リベース
git log
git log: コミット履歴を表示
git log --oneline: コミット履歴を簡潔に表示
git log --graph: コミット履歴をグラフィカルに表示
git log --pretty=oneline: コミット履歴を簡潔に表示
git log --pretty=format:"%h - %an, %ar : %s": コミット履歴をカスタムフォーマットで表示
git log --since=2.weeks: 過去2週間のコミット履歴を表示
git log --author=xxx: 特定の作者のコミット履歴を表示
git log --grep=xxx: 特定のキーワードを含むコミット履歴を表示
git log -p: コミット履歴の詳細を表示
git log -p -2: 直近2回のコミットの詳細を表示
git log --stat: コミット履歴の簡略統計を表示
git log --pretty=oneline --graph --all: コミット履歴をグラフィカルに表示
git log --pretty=format:"%h %s" --graph: コミット履歴をグラフィカルに表示
git log --pretty=format:"%h %s" --graph --all: コミット履歴をグラフィカルに表示
git log --pretty=format:"%h %s" --graph --all --decorate: コミット履歴をグラフィカルに表示
git log --pretty=format:"%h %s" --graph --all --decorate --oneline: コミット履歴をグラフィカルに表示
git status
git status: ワークスペースの状態を表示
git status -s: ワークスペースの状態を簡潔に表示
git add
git add .: すべてのファイルを追加
git add xxx: 特定のファイルを追加
git add -u: 追跡されているファイルを追加
git commit
git commit -m "message": コミット
git commit --amend: 最後のコミットを修正
git commit --amend -m "message": 最後のコミットメッセージを修正
git commit --amend --no-edit: 最後のコミット内容を修正
git commit --amend -m "message" --no-edit: 最後のコミット内容とメッセージを修正
git reset
git reset HEAD xxx: ステージングを取り消す
git reset --soft HEAD^: コミットを取り消す
git reset --hard HEAD^: コミットを取り消し、ワークスペースの変更を削除
git reset --hard HEAD: コミットを取り消し、ワークスペースの変更を削除
git reset --hard HEAD~3: 最近の3回のコミットを取り消す
git reset --hard commit_id: 特定のコミットまで取り消す
git checkout
git checkout -- xxx: ワークスペースの変更を取り消す
git checkout xxx: ブランチを切り替える
git checkout -b xxx: 新しいブランチを作成して切り替える
git checkout -b xxx origin/xxx: リモートブランチを作成して切り替える
git checkout -b xxx commit_id: 特定のコミットからブランチを作成して切り替える
git stash
git stash: 作業ディレクトリを一時保存
git stash list: 一時保存リストを表示
git stash apply: 一時保存を適用
git stash drop: 一時保存を削除
git stash pop: 一時保存を適用して削除
git fetch
git fetch: リモートリポジトリをフェッチ
git fetch origin: リモートリポジトリをフェッチ
git fetch origin xxx: リモートリポジトリの特定のブランチをフェッチ
git fetch --all: すべてのリモートリポジトリをフェッチ
git pull
git pull: リモートリポジトリをフェッチしてマージ
git pull origin xxx: リモートリポジトリの特定のブランチをフェッチしてマージ
git push
git push: リモートリポジトリにプッシュ
git push origin xxx: リモートリポジトリの特定のブランチにプッシュ
git push origin xxx --force: リモートリポジトリの特定のブランチに強制プッシュ
git push origin :xxx: リモートリポジトリの特定のブランチを削除
git push origin --delete xxx: リモートリポジトリの特定のブランチを削除
git push origin --tags: タグをプッシュ
git push origin --delete tag xxx: リモートリポジトリのタグを削除
git tag
git tag: タグを表示
git tag xxx: タグを作成
git tag -a xxx -m "message": 注釈付きタグを作成
git tag -d xxx: タグを削除
git show xxx: タグ情報を表示
git push origin xxx: タグをプッシュ
git push origin --tags: すべてのタグをプッシュ
git push origin --delete tag xxx: リモートリポジトリのタグを削除
git diff
git diff: 作業ディレクトリとステージングエリアの差分を表示
git diff HEAD: 作業ディレクトリと最新のコミットの差分を表示
git diff HEAD^: 作業ディレクトリと一つ前のコミットの差分を表示
git diff HEAD^ HEAD: 最新の2つのコミットの差分を表示
git diff commit_id: 作業ディレクトリと特定のコミットの差分を表示
git diff commit_id1 commit_id2: 2つのコミットの差分を表示
git diff --cached: ステージングエリアと最新のコミットの差分を表示
git diff --stat: 簡略統計を表示
git diff --shortstat: 簡略統計を表示
git diff --name-only: 変更されたファイルを表示
git diff --name-status: 変更されたファイルのステータスを表示
git diff --color-words: 変更内容を表示
git diff --word-diff: 変更内容を表示
git diff --word-diff-regex=.: 変更内容を表示
git diff --word-diff-regex=[A-Za-z0-9_]: 変更内容を表示
git diff --word-diff-regex=[^[:space:]]: 変更内容を表示