sato.masaki

2014.07.22

Gitの基本+αな使える頻出コマンド集

こんにちは。佐藤(ま)です。
アライドでは「大佐」と呼ばれております。

今回は、普段Gitは使い慣れてるけどそれよりちょっと踏み込んだ操作をしたいという時に使える頻出コマンドを集めてみました。基本のコマンド操作+以下のコマンドがあればGUI操作をしている方もCUIだけで戦えるんじゃないかなーと思ってます。

git branch系

リモートブランチを含めたブランチ一覧表示

リモートブランチの削除状態も合わせて更新

リモートブランチのユーザ名と時間を含めたブランチ一覧を表示する

ブランチを切る

remote originからブランチを切る

変更がありmergeされていないブランチを削除する

ブランチを強制削除する

git commit

git addと同時にコミットする(untracked filesは対象外)

コミットしたあとにそのコミットに変更を追加する

git push

git pushのdefault設定を確認,変更する

複数のブランチをpushする

リモートブランチを削除する

git remote

リモートリポジトリの名前一覧を表示する

リモートリポジトリの設定を削除する

リモートリポジトリのURL変更

git stash

stashする

stash一覧表示

stash適用

stash削除

git rm

trackedファイルを削除

ファイルを残しつつuntrackedとする

コミット済みのファイルを削除せずignore対象とする

.gitignoreについてはGitHubが.gitignoreファイルのテンプレートを公開してくれているので新しいプロジェクトをはじめるときなどに参考になります。gitignore templete

git revert,git reset

特定のコミットをピンポイントで打ち消す

あるコミットまでリセットする

コミットをまとめる

コミットをひとつにまとめる

自分のブランチのコミット分すべて(masterとの差分だけ)をひとつにまとめる

git diff,git log

masterとの差分のlogやdiffを表示する

working treeとstageのdiffを表示する

HEADとstageのdiffを表示する

working treeとHEADのdiffを表示する

git reflog

コマンド履歴から戻る

gitのalias

コマンドを利用しているといちいちgit ~と打っていられないのでaliasを利用します。

oh-my-zshを利用

oh-my-zshをつかっていればあらかじめgitのaliasが設定されているので便利です。
https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh
http://jasonm23.github.io/oh-my-git-aliases.html
すべてこちらのルールに従うのも良いですし、自分で使いやすいようにaliasを変更してもよいと思います。

.gitconfigを利用

必要に応じて~/.gitconfigにaliasを設定してもよいと思います。

※コマンド参考元
Wantedlyで開発するときにとりあえず設定してもらう事一覧

git svn clone

最後はsvnからgitへ移行する為のコマンドです。めったに使うことはありませんが、svnからgitへの移行は以下のコマンドで簡単に行えます。

svnからgitへ移行する

Gitはコマンド操作の方が色々とオプションが使えて便利なので、GUIを使ってる方は是非コマンド操作へ移行してみてください。

アライドアーキテクツではエンジニアを随時募集しております。
興味があればぜひこちらの採用サイトからご応募ください。