資料庫/git

資料庫

git clean

コマンド 説明
git clean --dry-run untrackedファイルが削除されるリストを確認
git clean -f untrackedファイルを削除
git clean -df untrackedファイル、ディレクトリを削除

git show

コマンド 説明
git show HEAD~2 コミットログを見る

git diff

コマンド 説明
git diff --name-only 自分が編集をしたファイルを表示
git diff -w hoge.css 改行コードを無視

git log

コマンド 説明
git log --oneline コミットの状態を確認
git log --name-only ファイル名のみ表示
git log --name-only -- "*.cs" .csファイル名のみ表示
git log --author='take4s5i' コミッター表示
git log ブランチ名 指定したブランチのログを表示
git log master..experiment experimentからたどれるが、master からたどれないコミット表示

git branch

コマンド 説明
git branch -D develop 削除
git branch -m fix-sign-in-out リネーム
git branch new-branch origin/new-branch 持ってくるだけの場合
git branch -vv ラッキング先を確認
git branch -u <ブランチ> ラッキング先を指定

git checkout

コマンド 説明
git checkout -b new-branch origin/new-branch 持ってきてブランチ移動
git checkout develop 移動

git rebase

コマンド 説明
git rebase --continue 衝突などを解決した後に実行して、rebaseを続行
git rebase --skip エラーを無視する
git rebase --abort rebaseをやめる

git submodule

コマンド 説明
git submodule init . 初期化
git submodule deinit submodule削除
git submodule update --init --recursive 各サブモジュールの中にさらにサブモジュールがある場合、それらも再帰的にinit/update
git submodule foreach git checkout master サブモジュールが全部マスターになる
git submodule foreach git pull origin master git submoduleしてるリポジトリをリモートの最新に更新

git clone

コマンド 説明
git clone url --recursive サブモジュールもclone

git reset

コマンド 説明
git reset --hard HEAD マージ作業に行き詰まり、全ての処置を捨て去る場合(マージ前の状態に戻る)
git reset --hard ORIG_HEAD 既に削除したいマージ結果をコミット済みの場合

git revert

コマンド 説明
git revert コミットのハッシュ値 コミットの打ち消し(コミットをなかったことにはせず、逆向きのコミットをすることで履歴を残す)

git reflog

コマンド 説明
git reflog 過去のあらゆるコミット履歴を見る
git reset HEAD@{1} --soft

コンフリクト

コマンド 説明
git checkout --ours {{. or /path/to/file}} 自分側を優先して書き換え
git checkout --theirs {{. or /path/to/file}} 相手側のを優先して書き換え