Git 使い始めてしばらく経ったけどしょっちゅうコマンド忘れて調べてるので、自分がよく使ってたり、いざという時わからなくて調べたものをまとめる。
基本的なもの
ローカルリポジトリの作成
git init
リモートリポジトリをクローン
git clone リモートリポジトリのアドレス
ブランチ系
表示
-
ローカルブランチ
git branch
-
リモートブランチ
git branch -r
-
全部
git branch -a
-
マージ済ブランチ
git branch --merged
作成
-
現在のブランチから切る
git branch ブランチ名
-
切るブランチを指定
git branch ブランチ名 元にするブランチ名
元にするブランチ名のところをコミットハッシュにすればその位置から作成できる。
移動
-
ブランチの移動
git checkout ブランチ名
-
新しくブランチを作ってそこに移動する
git checkout -b ブランチ名
git branch ブランチ名
と同様に元にするブランチやコミットを指定できる。
名前の変更
-
現在のブランチ名を変える
git branch -m 変更後の名前
-
名前を変更するブランチを指定する
git branch -m 元の名前 変更後の名前
削除
-
マージ済ブランチ
git branch -d ブランチ名
-
まだマージされていないブランチ
git branch -D ブランチ名
ブランチの状態
git status
差分の確認
-
現在のHEADとの差分
git diff
-
コミット間の差分
git diff コミット1 コミット2
-
変更されたファイルの名前
git diff --name-only
ファイルを追加
-
すべて
git add .
-
変更があったファイル
git add -u
-
指定したディレクトリやファイル
git add ディレクトリ名 or ファイル名
(node_modules
や.DS_Store
なんかの入れなくていいものが入らないように.gitignore
に書こう)
コミット
-
エディタを開かずにコミット
git commit -m "コメント"
-
コミットログを見る
git log
--oneline
オプションでログを1行ずつで見る
作業を退避
コミットせずにブランチを変えたいときに使う
git stash
git stash save "コメント"
-
退避した作業の一覧
git stash list
-
作業を戻す
git stash apply
-
作業を指定して戻す
git stash apply stash@{戻したい作業の番号}
-
戻したあとリストから消す
git stash pop
-
退避した作業を消す
git stash drop
-
リストを全部消す
git stash clear
リモートと同期
-
リモートブランチの内容を取り込む
git pull --rebase origin リモートブランチ名
-
リモートブランチに変更を反映する
git push origin リモートブランチ名
初回 push 時に-u
オプションを付けて対応するリモートブランチを登録すれば、次回以降git push
のみで push できる。
-f
オプションはできるだけ使わない。
設定系
-
現在の設定の確認
git config --list
-
--system
システムの設定 -
--global
ユーザーの設定 -
--local
リポジトリごとの設定 -
設定する
例えば、git config --global user.name "ユーザー名"
-
リモートリポジトリを設定
git remote add origin リモートリポジトリのアドレス
-
リモートリポジトリの変更
git remote set-url origin 変更後のアドレス
-
現在設定されているリモートリポジトリ
git remote -v
やっちまったとき
コミット内容の変更
-
直近のコミットを編集
git commit --amend
コメントの編集や add し忘れた変更を含めたりできる。 -
まとめて編集
git rebase -i
主にコミットの粒度が小さすぎて見にくいときにコミットを一つにまとめるのに使っている。
取り消し
-
add の取り消し
git reset
-
直前のコミットの取り消し
git reset HEAD^
-
ファイルに変更を加える前に戻す
git reset --hard
戻したい場所を調べる
git reflog
作業の一覧が表示されるので戻したい場所が見つかったら、
git reset --hard HEAD@{戻したい場所の番号}
でそこまで作業を戻すことができる。
自分用のメモみたいなものだけど、新人プログラマ応援タグ付けてみたので新入社員で初めて Git に触れる人だったりの参考になれば幸い。
バリバリ使ってる人は間違いの指摘や、よく使ってるコマンド、便利なコマンドがあればぜひ教えてください。