-
Notifications
You must be signed in to change notification settings - Fork 0
Git Commands
Yutaro Ishiwata edited this page Feb 18, 2022
·
4 revisions
既存のリポジトリをクローン
mkdir [ディレクトリ] //ローカルディレクトリ作成
git clone [リポジトリ] [ディレクトリ] //既存のリポジトリをクローン
git init //.gitサブディレクトリが生成される(自動で生成されるかかも)
設定
$ git config --list
$ git config --global user.name "yutaroishiwata"
$ git config --global user.email "[email protected]"
$ git config --global --list
リモート環境の変更内容をローカルにpull
$ git fetch //--prune fetchやpullする際に自動的にリモートで削除されているリモートブランチを削除してくれる。
$ git pull
新規ブランチ作成
$ git branch [branch_name] //ブランチの作成
$ git checkout [branch_name] //ブランチの移動
$ git checkout -b [branch_name] //新規ブランチを作成しチックアウト
$ git branch -d [branch_name] //ブランチの削除
$ git branch -m [branch_name] //現在のブランチ名の変更
$ git branch // ローカルブランチの一覧
$ git branch -a //リモートとローカルのブランチの一覧
$ git branch -r //リモートブランチの一覧
$ git checkout -b branch_name origin/branch_name //リモートブランチをローカルにクローンしてチェックアウト(originの付与は必須)
差分確認・インデックスにStage
$ git diff //差分確認(Ctrl+f,Ctrl+bで1ページ分スクロール)
$ git diff --stat //差分量確認
$ git add . //全てのファイル
$ git status //現在の状態を表示
$ git diff --staged //stage環境にあげたファイルの変更箇所を表示
$ git reset HEAD . //aadの取り消し
$ git log //commitの履歴を表示
Stageしたファイルを作業ツリーに戻す
$ git reset HEAD -- <ファイル名>
$ git reset //全てのファイル
作業ツリーの変更を元に戻す(破棄)
$ git checkout ファイル名 //特定のファイル
$ git checkout . //全てのファイル
ファイルを削除(git Untracked filesなど)
$ git clean -n //削除するファイルを表示
$ git clean -f //削除実行
コミット
$ git add [ファイル名] //追加
$ git commit -m "任意のコメント" //コミット (-aオプションは作業ツリー変更も自動検出する)
$ git push origin master //masterを更新
$ git commit --amend //直前のコミットに上書き
$ git commit --amend -m "fugafuga" "コミットメッセージを修正" //一つのみ指定すると直前のコミットメッセージを修正する
直前のコミットを取り消し
$ git reset --hard HEAD^
$ git push -f //すでにリモートにpushしてしまってる場合には変更内容を強制pushする
スタッシュ
$ git stash save //saveは省略可能
$ git stash apply stash@{0}
$ git stash list
入力が異常になったとき(下記のどちらか)
$ stty sane
$ reset
コンフリクト解消
$ git marge develop //現在のブランチにdeveopをmarge
$ git commit -m "任意のコメント" //コンフリクトを解消してコミット
$ git push
特定の行がいつ変更されたのか確認
$ git blame [ファイルまでのパス] //特待したい変更があるファイル
$ git blame -L 行数,行数 [ファイルまでのパス] //行数を指定して検索
$ git show [コミットID]
ブランチをまとめて削除
$ git branch | grep <文字列> | xargs git branch -d
GitでCtrl+cで終了させるとそれ以降のコマンドが表示されない
現象
git log
, git diff
等のコマンドを実行してCtrl+cで終了させるとそれ以降のコマンドが実行されない
復旧方法
Ctrl + cで終了させてしまい、コマンドが表示されなくなってしまったら、reset
かstty sane
を 実行し端末制御をきれいにすることでコマンドが表示されるようになる。
抑止方法
q
で終了させる。