Gitのコマンドを忘れてしまうたびに、毎回検索していましたが、検索するのが手間なので、今回はよく使うコマンドをまとめています。
リモートリポジトリの複製
対象リポジトリのデフォルトブランチをクローンします。
git clone {リポジトリのURL}
対象リポジトリの対象ブランチをクローンします。
git clone -b {ブランチ名} {リポジトリのURL}
リポジトリの新規作成
リポジトリの新規作成は、リポジトリを作成したい対象ディレクトリに移動して、以下のコマンドでリポジトリを作成します。
git init
リモートリポジトリの変更内容を取り込む
リモートリポジトリの変更をローカルリポジトリに取り込みます。
pullはfetchとmergeを同時に実行します。
git pull origin {ブランチ名}
変更内容をコミット
addしてある箇所をコメント付きでコミットします。
git commit -m "コメント"
ブランチをマージ
対象のブランチを、チェックアウト中のブランチへマージします。
git merge origin {対象ブランチ名}
ブランチの新規作成
ブランチを新規で作成します。
git branch {作成するブランチ名}
リモートのあるブランチを元にブランチを作成します。
git branch {作成するブランチ名} {元にするブランチ名}
ブランチ命名ルール
// 新機能開発中に使うブランチ
feature/○○○○○
// 公開中のもののバグ修正用ブランチ
hotfix/○○○○○
ブランチの新規登録及びブランチ切り替え
ブランチを新規で作成し新規ブランチに移動します。
git checkout -b {作成するブランチ名}
リモートのあるブランチを元にブランチを作成し新規ブランチに移動します。
git checkout -b {作成するブランチ名} {元にするブランチ名}
ブランチの切り替え
移動したいブランチに移動します。
git checkout {移動したい先のブランチ名}
差分確認
ファイルの差分を出力します。
git diff
対象のファイルがある場合は、以下のコマンドになります。
git diff {対象のファイルパス}
編集途中のソースを一時保存
以下のコマンドで、作業が途中のものをコミットせずにいったん保存して一次避難させることができます。
git stash
避難した作業を復元する方法は以下のコマンドです。
git stash apply
リモートリポジトリの更新内容をローカル環境に取り込む
以下のコマンドで修正があったブランチが全てフェッチされます。
git fetch
場所は、「master」ブランチではなく、「origin/master」ブランチに取り込まれます。
そのため、以下のコマンドでブランチを切り替えます。
git checkout origin/master
コミット名の変更
直前のコミット名を変更
git commit --amend -m "変更後のコミットメッセージ"
直前のコミット名を修正します。
2つ以上前のコミット名の変更
2つ以上前のコミットメッセージを修正する場合、いくつかのステップを踏む必要があります。
まずは以下のコマンドを実行し、戻りたい位置を確認します。
git log --oneline
戻り位置が決まったら、以下を実行します。
数字には、一番新しいコミットを1として、修正したいコミットまでの数を数えて、「HEAD~」のあとにその数を入力します。
git rebase -i HEAD~数字
そうすると、viエディタが開きます。
変更したいコミットメッセージの「pick」を「edit」に書き換えます。
保存してviエディタを終了します。
viエディタを終了しましたら、コミット名を変更するコマンドを実行します。
git commit --amend -m "変更後のコミットメッセージ"
入力したコミット名に変更します。
最後に、以下を実行して終了になります。
git rebase --continue
変更取り消し(もとに戻す)
ブランチの変更取り消し、元に戻す方法です。
まず、履歴を確認します。
git reflog
git reflogで見つけた、戻りたい状態を指定します。
git rebase -i HEAD@{数字}
これで晴れて git reset は取り消されて、元通りです。