普段からgitを使っているのですが、そういえばgitについての記事を一切書いていないことに気がついたので今回は備忘録として自分がよく使うコマンドをまとめておこうと思った次第です。
ほぼコマンドを羅列していくだけになります。
では始めます。
■コマンド
- gitの設定を確認
$ git config -l [スコープ名]
スコープ名 | 優先度 | 説明 |
---|---|---|
local | 高 | 特定のリポジトリにおける設定 |
global | 中 | 現在のユーザ共通の設定 |
system | 低 | システム共通の設定 |
・例:現在ユーザの共通の設定を確認
$ git config -l --global
- gitの設定を変更
$ git config [スコープ名] [対象名] [設定値]
・例:現在ユーザの改行設定を一切変更しないモードに変更
$ git config --global core.autocrlf false
- git用のリポジトリに設定
$ git init
- リモートリポジトリのクローン
$ git clone [リモートリポジトリのアドレス]
- 変更のあったファイル一覧を確認
$ git status
- ファイル/フォルダ名を変更
$ git mv [変更前] [変更後]
- ブランチ一覧を確認
$ git branch # ローカルブランチの一覧 $ git branch -a # リモートブランチの一覧
- ローカルブランチの新規作成
$ git branch [ブランチ名]
- ローカルブランチの削除
$ git branch -d [ブランチ名]
- ローカルブランチの削除(強制)
$ git branch -D [ブランチ名]
- ローカルブランチの切り替え
$ git checkout [ブランチ名]
- ローカルブランチを切り替えてリモートブランチの内容にする
$ git checkout -b [ローカルブランチ名] [リモートブランチ名]
・例:リモートブランチ名がdevの場合
$ git checkout -b dev origin/dev
(※ちなみにローカルブランチも同じ方法でコピーできる)
- 変更差分を確認
$ git diff [ファイル名] # ファイル単体の差分 $ git diff [ローカルリポジトリ名] # ローカルリポジトリの最新との差分
- 差分のあったファイルをコミットできるようにする
$ git add [ファイルパス] # ファイルパスを「folder/*」のように指定も可能 $ git add -A # 差分のあるファイル全て
- git addしたファイルをコミット
$ git commit -m "コミットコメント" # ""の文字列部分でコミットコメントをつけられる
- コミットログの確認
$ git log
- ローカルブランチの直前コミットを取り消してコミット前の状態にする
$ git reset --hard HEAD^
- 以前のコミットの状態に戻す(未addの場合)
$ git checkout [ファイル名]
- 以前のコミットの状態に戻す(add済の場合)
$ git reset HEAD [ファイル名] $ git checkout [ファイル名]
- コミット内容をリモートブランチにプッシュ
$ git push -u origin [リモートブランチ名] # 現在のローカルブランチのコミット内容をリモートブランチに追加
- ローカルコミット内容をリモートブランチに強制プッシュ(強制上書き)
$ git push -f origin [リモートブランチ名]
(※コンフリクトやログの内容など、すべて関係なくローカルの内容で強制上書きされる)
- ブランチのマージ
$ git merge [対象ローカルブランチ名] # 現在のローカルブランチに対象のローカルブランチをマージ $ git merge [マージされるローカルブランチ名] [対象ローカルブランチ名] # マージされるローカルブランチに対象ローカルブランチをマージ
※コンフリクトが起こった場合はこちらのページを参考に解消する。
- 現在のローカルブランチをリモートブランチの最新のものに更新
$ git pull
- ローカルブランチの内容をリモートブランチで強制上書き
$ git fetch origin $ git reset --hard [リモートブランチ名] $ git pull # リモートブランチの一番最初の状態なのでgit pullで最新化
- タグ一覧を確認
$ git tag
- 既存のコミットに対してtagを作成
$ git tag -a [タグ名] -m [コメント] [コミットID]
・例:コミットIDがaaaa1111のものにタグ名として「v0.1」をつける場合
$ git tag -a v0.1 -m 'コメント内容です' aaaa1111
- タグのpush
$ git push origin [タグ名]
- pushしてないタグの削除
$ git tag -d [タグ名]
(※pushしたタグは原則削除はしない)
- Gitのアップデート(Windowsの場合)
$ git update-git-for-windows
以上が個人的によく使うコマンド一覧です。
特にローカルブランチの強制上書きなどは時々必要になったりするので、知っておくとよいと思います。
・参考資料