【まとめ】gitでよく使うコマンド備忘録

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

基本的にはコマンドよりTortoiseGitなどのGUIツールを使った方が良いと考えています。
(作業ミス防止の観点からグラフィカルなステータス表示が有効なため)
しかしながら、仮想環境のディレクトリをWindowsにSambaでマウントして作業している場合などは
TortoiseGitで処理速度が著しく遅くなる操作があり、
そのような場合、仮想環境のCUIでコマンドを使えば高速に処理を行うことができます。


ログ全部入り

git log --oneline --decorate --graph --branches --tags --remotes

※Tortoise Gitでログが見られるときはそちらで見た方が状況を把握しやすいです。

git log全部入り – Qiita


現在の状態表示

git status

何をすればよいか、元に戻せるかわからなくなったときはこのコマンドで表示される英語をよく読めば
大概は解決できます。


プルする…フェッチした後、自動的にマージする

git pull

フェッチと同時にマージが実行されるので、自分はリリースのとき以外使ったことがありません。


フェッチする…リモートの履歴情報を受信する

git fetch

リモートリポジトリーに追加された履歴情報をローカルリポジトリーに追加します。
作業ディレクトリには影響ありません。


ローカルブランチを新規作成する

git branch (新規作成したいブランチ名)

現在の位置に新規ローカルブランチを作成します。切替は行われません。


ブランチを切り替える

git checkout (既にローカルに存在するブランチ名)

※作業ディレクトリが最後のコミットから更新されていると失敗します。
 コミットかスタッシュをしてください。


ブランチ一覧と現在のブランチを確認する

git branch

リモートリポジトリーに送信する

git push origin (サーバーに送信したいローカルブランチ名)

マージする…別の更新作業と合わせる

git merge (現在のブランチにマージしたいブランチ名)

※よほど大がかりな更新作業でなければ、ログがわかりにくくなるのでリベースをしましょう。
※相手のブランチの更新を自分のブランチに適用するのであって、
 今いるブランチの更新を相手のブランチに適用するのではありません。


リベースする…自分の更新作業を別のブランチのHEADから始めたことにする

git rebase (現在のブランチの根元を持っていきたいブランチ名)

マージと同じく2つのブランチの更新内容を併せるので、マージのように競合が発生する可能性があります。
※一度プッシュしたブランチはリベースしてプッシュすると 履歴が2重に接ぎ木されるので
 リベースしてはいけません。


スタッシュする…作業ディレクトリの変更内容を一時的に隠す

git stash

※新規作成し、git addでgit管理にしていないファイルはスタッシュに含まれません。


スタッシュした変更内容を再度適用する

git stash pop

※競合が発生することがあります。
 その場合はマージなどと違い、git addで競合を解決済みにするだけで大丈夫です。


ローカルリポジトリーのブランチを削除する

git branch -d (ブランチ名)

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

git push origin :(ブランチ名)

※TortoiseGitが使えるなら、そちらからやった方が簡単で安全です。

投稿者プロフィール

篠田 将彦
2014年3月よりスカイアーチネットワークスに在籍、
プログラミング歴20年。
テスト工程の省力化、リリース作業の単純化、
リファクタリングによるレガシーコードの改善を得意としています。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

2014年3月よりスカイアーチネットワークスに在籍、 プログラミング歴20年。 テスト工程の省力化、リリース作業の単純化、 リファクタリングによるレガシーコードの改善を得意としています。