LoginSignup
4
2

More than 3 years have passed since last update.

個人的によく使うgitコマンドをまとめてみた

Last updated at Posted at 2020-05-28

ずっとIDEで行っていた作業を一部コマンドで実行するようにしてみました。
それ用のメモ。
他にもおすすめの使い方があれば教えていただけると嬉しいです。

[2020.11.11 追記]
使うコマンドのレパートリーが増えたので、追加しました。

(基礎)git Bash上での操作

  • コピー
    • Ctrl + Ins
  • ペースト
    • Shift + Ins

※コピペしたいところを選択したままShift + Insを押すと、一回でコピペできる。

stash

  • 一覧を見る
$ git stash list
  • 「○○」という名前でスタッシュする
$ git stash save ○○
  • 5番目のスタッシュをアンスタッシュする
$ git stash apply 5
  • 5番目のスタッシュを削除する
$ git stash drop 5
  • 5番目のスタッシュをアンスタッシュしたうえで削除する(めっちゃ便利)
$ git stash pop 5

branch

  • 一覧をみる
$ git branch
  • 「feature_1111」というブランチを作成する
$ git branch feature_1111
  • 「feature_1111」というブランチを削除する
$ git branch -d feature_1111

checkout

  • 「feature_1111」というブランチに移動する
$ git checkout feature_1111
  • 「feature_1111」という新しいブランチを作成したうえで移動する
$ git checkout -b feature_1111

-bのオプションを使うことで、新しく作成したブランチにそのまま移動することができます。
このオプションの存在を知るまでは、git branch feature_1111のあとにgit checkout feature_1111をしていたので、すごく楽になりました。

fetch

  • リモートの更新を読み込む
$ git fetch

すぐレビューしないといけないけど今の変更点スタッシュしてdevelopに移動するのがめんどくさい!というときに便利です。

pull

  • リモートの更新を読み込んでローカルに反映させる
$ git pull

fetchmergeをいっぺんにやる。ローカルに変更点があるとエラーになるので事前にスタッシュして回避する。

merge

  • 「feature_1111」というブランチの差分を今いるブランチに取り込む
$ git merge --no-ff feature_1111

今やってる案件、絶対feature_1111とコンフリクトするわーみたいなときに使えます。
ただし、MRを出すと、feature_1111で改修した内容も差分として表示されるので、管理者にリモートのマージをしてもらうときは順番が逆にならないように気をつける必要があります。

update-index

  • 「index.php」をgitの管理下から外す
$ git update-index --skip-worktree index.php
  • gitの管理下から外しているファイルを確認する
$ git ls-files -v | grep ^S
  • 「index.php」をgitの管理下に戻す
$ git update-index --no-skip-worktree index.php

ローカルで変更しておきたいけどorigin/developにmargeしたくないような設定系のファイルは、--skip-worktreeでgitの管理下から外しておきます。
ただ、origin/developの該当ファイルが更新されるとpullできなくなるので、--no-skip-worktreeでgit管理下に戻します。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2