ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【git】よく使うコマンド集

 普段からgitを使っているのですが、そういえば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^
  • コミット内容をリモートブランチにプッシュ
$ 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したタグは原則削除はしない)


 以上が個人的によく使うコマンド一覧です。

 特にローカルブランチの強制上書きなどは時々必要になったりするので、知っておくとよいと思います。


・参考資料