Gitコマンド早見表 - M2O-Workshop/Training GitHub Wiki

当ページでは、Gitにおける頻出コマンドについて、機能の要約およびEGitとの紐付けと共に一覧化する。

(前提)

  • GitのCUIクライアントをローカルにインストールし、基本的な概念や操作方法を把握していること。
  • Gitのバージョンは2.11.0、eclipseは4.6(neon)、EGitのバージョンは4.4.0を使用して作成。

(参考)

(Index)


(凡例)
$ Gitコマンド
重要度
機能要約
EGitでの操作

各コマンドの重要度を ⭐ 1つ~3つで表現する

  • ⭐ ⭐ ⭐ :使用頻度が高く重要
  • ⭐ ⭐ :そこそこ使用する機会あり
  • ⭐ :初回のみ or 殆ど使用しない


$ git config --global user.name "<name>"
コミットに付加される名前を設定する
「ウィンドウ」>「設定」>「チーム」>「Git」>「構成」>「ユーザー設定」>「エントリーの追加」 キー:user.name
$ git config --global user.email "<email>"
コミットに付加されるe-mailアドレスを設定する
「ウィンドウ」>「設定」>「チーム」>「Git」>「構成」>「ユーザー設定」>「エントリーの追加」 キー:user.email
$ git config --global color.ui auto
コマンドラインを見やすくするための文字色を設定する
(コマンドライン専用)

$ git init "<project-name>"
⭐ ⭐
指定した名前でプロジェクトを作成する(git管理対象とする)
「ナビゲーター」ウィンドウ>「チーム」>「プロジェクトの共用」>「Git」
$ git remote add "<name>" "<URL>"
⭐ ⭐
リモートリポジトリを追加する
「Gitリポジトリー」ウィンドウ>「リモート」>「リモートの作成」
$ git remote rename "<old-name>" "<new-name>"
リモートリポジトリの名前を変更する
「Gitリポジトリー」ウィンドウ>「リモート」>「フェッチの構成」>「拡張」
$ git clone "<URL>"
⭐ ⭐ ⭐
指定したURLのリモートリポジトリをローカルリポジトリとして複製する
「Gitリポジトリー」ウィンドウ>「リポジトリー複製」ボタン>「URLの複製」

$ git status
⭐ ⭐ ⭐
リポジトリの状態とステージングエリアの状態を確認する
「Gitリポジトリー」ウィンドウ および 「Gitステージング」ウィンドウ
$ git add "<file>"
⭐ ⭐ ⭐
ワーキングディレクトリの変更をステージングエリアに追加する
「ナビゲーター」ウィンドウ>「チーム」>「索引に追加」
あるいは 「Gitステージング」ウィンドウ>「索引に追加」
$ git add --all
⭐ ⭐
ワーキングディレクトリの全ての変更をステージングエリアに追加する
フォルダを選択した状態で「索引に追加」
$ git reset "<file>"
⭐ ⭐
変更をステージングエリアから除去する(変更内容は保持したままとなる)
「Gitステージング」ウィンドウ>「索引から除去」
$ git diff
⭐ ⭐
ワーキングディレクトリとステージングエリアの差分を表示する
「Gitステージング」ウィンドウ>「インデックスと比較」
$ git commit -m "<descriptive message>"
⭐ ⭐ ⭐
ステージングされた変更をコミットする
「ナビゲーター」ウィンドウ>「チーム」>「コミット」 あるいは 「Gitステージング」ウィンドウ>「コミット」
$ git commit --amend
直前のコミットを新しいコミットで置き換える
「Gitステージング」ウィンドウ>「修正(前のコミットを編集)」ボタン

$ git branch
⭐ ⭐ ⭐
リポジトリ上のローカルブランチを一覧で表示する
「Gitリポジトリー」ウィンドウ>「ブランチ」>「ローカル」
$ git branch -a
⭐ ⭐ ⭐
ローカルブランチとリモート追跡ブランチを表示する
「Gitリポジトリー」ウィンドウ>「ブランチ」(ローカル/リモートそれぞれ表示可能)
$ git branch "<branch-name>"
⭐ ⭐ ⭐
ローカルブランチを新規作成する
「Gitリポジトリー」ウィンドウ>「ブランチ」>「切り替え」>「新規作成」
$ git checkout "<branch-name>"
⭐ ⭐ ⭐
指定したローカルブランチに切り替え、ワーキングディレクトリを更新する
「Gitリポジトリー」ウィンドウ>「ブランチ」>「切り替え」
もしくはローカルブランチを選択し「チェックアウト」
$ git checkout -b "<branch-name>"
⭐ ⭐
ローカルブランチの新規作成と切り替えを同時に行う
「Gitリポジトリー」ウィンドウ>「ブランチ」>「切り替え」>「新規作成」
(新規ブランチのチェックアウトにチェック)
もしくはリモートブランチを選択し「チェックアウト」
$ git merge "<branch-name>"
⭐ ⭐ ⭐
現在のブランチに指定したブランチの変更をマージする
(マージのベースとするブランチに切り替わった状態で)
「Gitリポジトリー」ウィンドウ>「マージ」>マージ対象のブランチを選択
$ git branch -d "<branch-name>"
⭐ ⭐
指定したローカルブランチを削除する
「Gitリポジトリー」ウィンドウ>「ブランチ」>削除するブランチを選択した状態で「ブランチの削除」
リモートブランチはGit-Hub上で削除する
$ git branch -m "<branch-name>"
現在のブランチの名前を変更する
「Gitリポジトリー」ウィンドウ>「ブランチ」>変更するブランチを選択した状態で「ブランチの名前変更」
$ git tag "<tag-name>"
タグを作成する
(タグを作成するブランチに切り替わった状態で)「Gitリポジトリー」ウィンドウ>「タグ」>「タグの作成」

$ git rm "<file>"
⭐ ⭐
ワーキングディレクトリからファイルを削除し、削除したという履歴をステージングする
(Git管理下にあるファイルやフォルダを選択した状態で)「ナビゲーター」ウィンドウ>「削除」
削除後に「Gitステージング」ウィンドウ>「索引に追加」
$ git rm --cached "<file>"
ステージングからファイルを削除し、ローカルのファイルは保持したままとする
「Gitステージング」ウィンドウ>「削除」
$ git mv "<file-oiginal>" "<file-renamed>"
⭐ ⭐
ワーキングディレクトリのファイル名やフォルダ名を変更し、変更したという履歴をステージングする
(Git管理下にあるファイルやフォルダを選択した状態で)「ナビゲーター」ウィンドウ>「名前変更」
削除後に「Gitステージング」ウィンドウ>「索引に追加」

$ git stash
⭐ ⭐
未コミットである変更内容を一時保存した上で、HEADの状態までクリーンに戻す
(=仮コミット+HEAD改訂に置換)
「Gitリポジトリー」ウィンドウ>スタッシュを行うリポジトリを選択した状態で「スタッシュ」
>「変更をスタッシュ」
$ git stash list
一時保存されているスタッシュの履歴を表示する
「Gitリポジトリー」ウィンドウ>スタッシュを行うリポジトリを選択した状態で「スタッシュ」
$ git stash pop
⭐ ⭐
一時保存されているスタッシュの記録内容をワーキングディレクトリに反映する(取り出す)
「Gitリポジトリー」ウィンドウ>スタッシュを行うリポジトリを選択した状態で「スタッシュ」
>適用したいスタッシュを選択>「スタッシュされた変更を適用」ボタン
$ git stash drop
一時保存されているスタッシュの記録内容を破棄する
「Gitリポジトリー」ウィンドウ>スタッシュを行うリポジトリを選択した状態で「スタッシュ」
>適用したいスタッシュを選択>「スタッシュされたコミットを削除」ボタン

$ git log
⭐ ⭐ ⭐
現在のブランチのバージョンの履歴を表示する
(Git管理下にあるファイルやフォルダを選択した状態で)
「ナビゲーター」ウィンドウ>「チーム」>「ヒストリーに表示」
「ヒストリー」ウィンドウで任意のコミットを選択すると詳細情報を表示
$ git log --oneline
⭐ ⭐ ⭐
現在のブランチのバージョンの履歴を1行に集約して表示する
(Git管理下にあるファイルやフォルダを選択した状態で)
「ナビゲーター」ウィンドウ>「チーム」>「ヒストリーに表示」
$ git log --follow "<file>"
⭐ ⭐
現在のブランチの指定したファイルのバージョンの履歴を表示する
(Git管理下にあるファイルを選択した状態で)
「ナビゲーター」ウィンドウ>「チーム」>「ヒストリーに表示」
「ヒストリー」ウィンドウで任意のコミットを選択すると詳細情報を表示
$ git diff "<first-branch>"..."<second-branch>"
⭐ ⭐
指定した2つのブランチ間の差分を表示する
(比較元のブランチに切り替わった状態で)
「Gitリポジトリー」ウィンドウ>「ブランチ」
>比較対象のブランチを選択した状態で「ワークスペースと同期化」
$ git show "<commit>"
指定したコミットのメタ情報と変更内容を表示する
(Git管理下にあるファイルやフォルダを選択した状態で)
「ナビゲーター」ウィンドウ>「チーム」>「ヒストリーに表示」
「ヒストリー」ウィンドウで任意のコミットを選択すると詳細情報を表示
$ git blame "<file>"
指定したファイルの各行毎に最終変更の情報を表示する
(Git管理下にあるファイルを選択した状態で)
「ナビゲーター」ウィンドウ>「チーム」>「注釈の表示」
「テキストエディタ」ウィンドウが起動し左端の列が「ヒストリー」ウィンドウと連動する
$ git checkout "<commit>"
⭐ ⭐
指定したコミットをワーキングディレクトリにチェックアウトする
「ヒストリー」ウィンドウ>チェックアウトするコミットを選択した状態で「チェックアウト」
※事前に専用ブランチを作成しておくこと。競合やデグレを引き起こし易い。
最新ブランチから再度チェックアウトすることで復旧する。

$ git revert "<commit>"
⭐ ⭐
指定したコミット(プッシュ済みでも可)で加えられた変更を元に戻す新規コミットを作成し、適用する
「ヒストリー」ウィンドウ>取り消すコミットを選択した状態で「コミットを戻す」
>Revert実施のヒストリーが自動的に作成される>コミットまたはプッシュ
※履歴に残る取り消し。
$ git reset "<commit>"
指定したコミット(プッシュ済みでも可)まで遡り、適用する
(ステージングエリアおよびワーキングディレクトリは保持)
「ヒストリー」ウィンドウ>遡るコミットを選択した状態で「リセット」>「ソフト」
※履歴に残らない取り消し。
$ git reset --hard "<commit>"
⭐ ⭐
指定したコミット(プッシュ済みでも可)まで遡り、
ステージングエリアおよびワーキングディレクトリも含め適用する
「ヒストリー」ウィンドウ>遡るコミットを選択した状態で「リセット」>「ハード」
※履歴に残らない取り消し。
単純にローカルでの更新をHEADまで戻したい場合は「ナビゲーター」ウィンドウ>「置換」>「HEAD改訂」で良い。
$ git rebase "<branch>"
⭐ ⭐
指定したブランチを自動チェックアウトし、現在のブランチの変更内容を1つ1つコミットし直す
「ヒストリー」ウィンドウ>リベース対象のコミットを選択した状態で「リベースオン」
もしくは「対話式リベース」
※リベース元のブランチのコミット履歴がリベース先のブランチに統合される。

$ git fetch "<remote>"
⭐ ⭐ ⭐
リモートリポジトリから全ての変更履歴をリモート追跡ブランチに取り込む
(リモートリポジトリの最新化)
「Gitリポジトリー」ウィンドウ>「リモート」>フェッチ対象のリポジトリを選択した状態で「フェッチ」
$ git merge "<remote track branch>" "<branch>"
⭐ ⭐
リモート追跡ブランチと指定のブランチを統合する
※EGitに該当オペレーション無し(要調査)。
$ git push
⭐ ⭐
ローカルリポジトリ/ローカルブランチの更新履歴をリモートリポジトリ/リモートブランチに反映する
「Gitリポジトリー」ウィンドウ>対象のリポジトリを選択した状態で「アップストリームへプッシュ」
あるいは「ブランチのプッシュ」、もしくは対象ブランチを選択した状態で「ブランチへプッシュ」
$ git push "<remote repository>" "<refspec>"
⭐ ⭐ ⭐
指定したローカルリポジトリ/ローカルブランチの更新履歴をリモートリポジトリ/リモートブランチに反映する
「Gitリポジトリー」ウィンドウ>対象のリポジトリを選択した状態で「アップストリームへプッシュ」
あるいは「ブランチのプッシュ」、もしくは対象ブランチを選択した状態で「ブランチへプッシュ」
$ git pull "<remote repository>"
⭐ ⭐ ⭐
フェッチとマージを1オペレーションで行う
(リモートリポジトリからフェッチし、ローカルリポジトリにマージする)
「Gitリポジトリー」ウィンドウ>プル対象のリポジトリを選択した状態で「プル」
⚠️ **GitHub.com Fallback** ⚠️