備忘録用に、Gitのコマンドをまとめてみました。
随時追加していきます。
#変更をコミットするまで
##ローカルリポジトリを新規作成する
$ git init
.gitディレクトリが作成され、ローカルリポジトリも作成されます。
##変更をステージに追加する
$ git add <ファイル名 or ディレクトリ名>
ワークツリー全体の変更をステージに追加する場合は、以下のように「 . 」を指定します。
$ git add .
##変更をコミットする
$ git commit
ローカルリポジトリに変更をコミットします。
また、以下のように -vオプションを付けると、コミット時に変更内容を見ることができます。
$ git commit -v
また、-mオプションを使うと、gitのエディターを立ち上げずにコメントを入れることができます。
$ git commit -m "<メッセージ>"
#変更の確認
##現在の変更状況を確認する
$ git status
##変更の差分を確認する
git addする前の変更分を確認したいとき
$ git diff
git addした後の変更分を確認したいとき
$ git diff --staged
##変更履歴を確認する
$ git log
一行で表示したいとき↓
$ git log --oneline
ファイルの変更差分を表示したいとき↓
$ git log -p <ファイル名>
表示するコミット数を指定したい時↓
$ git log -n <コミット数>
例えば「 git log -n 5 」 とコマンドを打つと、5件分のコミットの変更履歴が表示されます
#リモート関連
##リモートリポジトリを新規追加する
GitHub等のリモートリポジトリを登録したいとき
$ git remote add origin <リモートリポジトリのURL>
##リモートリポジトリの確認
$ git remote
登録されているリモートリポジトリのURLも確認したいときは、-vオプションをつける↓
$ git remote -v
##リモート名を変更する
$ git remote rename <旧リモート名> <新リモート名>
##リモートを削除する
$ git remote rm <リモート名>
##リモートリポジトリにプッシュする
$ git push <リモート名> <ブランチ名>
コマンド例↓
$ git push origin master
##リモートリポジトリからプルする
$ git pull <リモート名> <ブランチ名>
git fetchとgit mergeを一度に行っている。
コマンド例↓
$ git pull origin master
##リモートリポジトリからフェッチしてマージする
①まずリモートリポジトリからローカルリポジトリに情報を取得する(フェッチ)
$ git fetch <リモート名>
コマンド例↓
$ git fetch origin
②ローカルリポジトリに取得した情報を、ワークツリーに統合させる(マージ)
$ git merge <リモート名/ブランチ名>
コマンド例↓
$ git merge origin/master
#変更をなかったことにする
##ワークツリーのファイルを元の状態に戻す
ワークツリーの状態を、ステージの状態と同じにすることによって、
ファイルへの変更を取り消しています。
$ git restore <ファイル名 or ディレクトリ名>
ワークツリー全体の変更を取り消すときは、「 . 」を指定します。↓
$ git restore .
なお、「restore」の代わりに「checkout --」を使用することも可能です。
##ワークツリーから追跡対象外のファイル(Untracked file)を削除する
git restoreコマンドでは、新規に作成されたファイルを削除できないため、git cleanコマンドを使用します。↓
$ git clean -f <ファイル名>
ファイル名を指定しなかった場合は、カレントディレクトリ内の追跡対象外ファイル全てが削除されます。
また、追跡対象外ファイルを確認したいときは、-fオプションの代わりに-nオプションを使用します。↓
$ git clean -n
##ステージのファイルを元の状態に戻す
git addでステージした変更を取り消すとき↓
$ git restore --staged <ファイル名 or ディレクトリ名>
ステージ全体の変更を取り消すときは、「 . 」を指定します。↓
$ git restore --staged .
なお、「restore --staged」の代わりに「git reset HEAD」を使用することも可能です。
##直前のコミットをやり直すとき
$ git commit --amend
現在のステージの状態を元に、コミットを上書きすることでコミットを修正する
※リモートリポジトリにプッシュした後のコミットはやり直しできないので注意が必要
#その他
##ファイルの削除を記録する
$ git rm <ファイル名>
git rmコマンドを使うことによって、指定したファイルが
ローカルリポジトリとワークツリーの両方から削除されます。
また、ディレクトリを削除するときは、-rオプションを付けてディレクトリ名を指定します。↓
$ git rm -r <ディレクトリ名>
なお、ファイルをローカルリポジトリからのみ削除し、ワークツリーには残しておきたい場合は
コマンドに --cachedをつけます。
$ git rm --cached <ファイル名>