当ページでは、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リポジトリー」ウィンドウ>プル対象のリポジトリを選択した状態で「プル」 |