Syntax Error.

[Sy] よく忘れるgitのコマンド集

2015/05/26 (更新: 2016/06/22)

ぼくがよく忘れるgitのコマンドを備忘録としてまとめておきます。

ブランチを作って同時に切り替え

普通だったらこう。

$ git branch [branch_name]
$ git checkout [branch_name]

あぁめんどくさい!1回で済ませたい!というときはこう。

$ git checkout -b [branch_name]

リモートにしかないブランチをローカルにチェックアウト

例えば、リモートに新しくnew_branchというブランチが作られたとして、これをローカルにチェックアウトしたい!という場合の手順。

まずはローカルはまだnew_branchの存在を知らないので、リモートのブランチの情報を取得。

$ git fetch --prune

--pruneオプションは別になくてもいいんですが、これつけるとリモートで削除されたブランチの情報を消してくれるので、つけておけば良いかと。

リモートから取得してきたブランチのリストにnew_branchがあるかチェック。

$ git branch -a | grep new_branch
  remotes/origin/new_branch

最後にローカルに作りたいブランチをorigin/new_branchをベースに作成してチェックアウト。

$ git checkout -b new_branch origin/new_branch

すでにリポジトリの管理対象になってるファイルを.gitignoreで除外したい場合

例えばlogファイルが間違って管理対象になってしまってリポジトリから消したい場合、.gitignoreを編集してもそれだけだと消えてくれない。

この場合、一度インデックスをきれいにしなおさないといけない。

なので一旦インデックスをすべて削除します。(※インデックスを消すだけなので、ファイルの実体は消えないのでご安心を)

$ git rm -r --cached .

で、改めてインデックスしなおす。

$ git add .

これで新しく.gitignoreで除外対象にしたファイルがdeletedになってリポジトリの管理対象から外れます。(ファイルの実体は残ったままで、インデックスから除外できる)

そしてコミットして完了!

$ git commit -m '.gitignoreを編集してxxxxを除外対象にしたよ。'