基本的なコマンドは分かっているが、もう少しいろんなコマンドも覚えたい!そんなあなたへ、クローンからプッシュまで一連の流れを紹介します。
活用コマンド紹介
簡単にコマンドを紹介します。
- init:新しいリポジトリを作成
- clone:リモートリポジトリをローカルにコピー
- branch:現在のブランチ確認
- checkout:新しいブランチを作成
- switch:ほかのブランチに切り替え
- status:現在のローカルリポジトリの状態を表示
- diff:現在の作業ディレクトリの変更点を表示
- stash:作業中の変更を一時的に保存し、作業内容を元に戻す
- reset --hard HEAD:最新のコミットまで変更内容をリセット
- add:ブランチをステージング
- commit:変更内容をセーブ
- push:リモートリポジトリへ送信
- pull:リモートリポジトリの変更をローカルリポジトリに取り込み
- merge:ブランチの統合
- fetch:リモートリポジトリの最新状態をローカルリポジトリへ反映
init
initは、新しいGitリポジトリを作成(=初期化)するためのコマンドです。
新しいフォルダーを選択し、git init
をターミナルに打つだけです。
いわゆる、以前とは異なるプロジェクトを行うため、ローカルリポジトリを新しく(キレイに)すると考えてOKです。
上記は、フォルダ「Git→2025」を選択し、これから新しい作業を行うので、ローカルリポジトリをキレイにしました!
clone
cloneは、リモートリポジトリにすでにある「メインブランチ」をローカルリポジトリに落とし込むためのコマンドです。リモートリポジトリをローカルにクローンすると一緒に「メインブランチ(デフォルト)」が自動的に反映されます。
git clone <リモートリポジトリURL>
を打つと、ローカルにリモートリポジトリのクローンができます。
コマンド branch
branchは、リポジトリ内で様々な作業をするために必要なコマンドです。
git branch
で現在どのブランチにいるのか分かります。上記でいうとローカルリポジトリ内にあるブランチは「new_branch」と「new_branch_tanaka」です。緑色の「new_branch_tanaka」が現在のブランチということです。
checkout
checkoutは、新しいブランチを作成するときに用います。git checkout -b <新ブランチ名>
で作成できます。[-b] なしでもブランチを作成できますが、[-b] をつけると切り替えまでしてくれます!
では、新たに [new_branch_suzuki] というブランチを作ってみましょう。作成と同時にブランチが切り替わるので、[git branch] で確認してみると、現在は新たに作ったブランチに切り替わっています。
リモートリポジトリに新しいブランチを送信するには、git push -u origin <新ブランチ名>
です。
詳しくは、コチラ
ブランチ名打ち間違えた!
あるあるのブランチ名打ち間違いに対処する方法です。上記では「takahashi」と打とうとして「takahasi」と打ってしまいました。
ブランチ作成で、新しいブランチに切り替わっているため、[switch (下記で再説明) ] で一度ブランチを切り替えて、打ち間違えたブランチを消去します。
git branch -d <間違えたブランチ名>
で消去できます。
switch
git switch
は、ローカルリポジトリで作業する際、ブランチを切り替えるときに用います。
元は「new_branch_tanaka_1001」だったが、「new_branch_tanaka」に切り替えました。
知っておくとよいコマンド
下記は、使わなくてもよいが知っておくとよいコマンドです。
status
statusは、現在のローカルリポジトリの状態が分かります。
git status
と打つと、変更内容などが赤く表示されます。現在、赤くなっているファイルを変更し、まだステージングしていないことを表しています。
ステージングしたあとにステータスを確認すると、緑色の表示に変わりました。
コミット(ステージングしたものをセーブ)まですると、「nothing to commit」と出ます。このように、現在作業をどこまでしているのか確認できるコマンドです。
diff
diffは、差分の確認で使われます。どこをどのように変更したのか分かります。作業を途中で終了したときなど、どこまで終わっているのか確認できるので便利です。
git diff
と打つと、削除した内容は赤字・入力した内容は緑字で表示されます。
log
git log
は、リポジトリのコミット履歴を表示するためのコマンドです。このコマンドを使用すると、プロジェクトの全てのコミット履歴や各コミットに関する詳細情報を確認できます。
stash
git stash
は、一時的に編集内容を保存し、元に戻したりすることができるコマンドです。途中で他のブランチに切り替える際や、コミットする前に作業を中断する場合に便利です。
[git stash] と打つと "Saved working directory and index state WIP on <ブランチ名>" と出てきました。
訳すと「作業ディレクトリとインデックス状態のWIPをブランチに保存しました」…らしいです。いわゆるローカルリポジトリで変更作業をしたが、ステージングもコミットも何もしていない状態だが、保存しましたよ!ということです。
この状態で、他のブランチに切り替え作業をして終わらせた後、前のブランチに切り替え、保存した状態から続けて作業できるということです。
ステージングしたら、コミット、プッシュまでが一連の作業なので、他の作業を至急対応するときに便利なコマンドです。
reset --hard HEAD
git reset --hard HEAD
コマンドは、Git で現在の作業ディレクトリの状態を直前のコミット状態に戻すために使われます。
上記の画像では、ビックリマークを入力し、保存しているのだがリセットコマンドを打つと、入力する前に戻りました!作業ディレクトリとインデックス(ステージングエリア)をリセットしたということです。変更したファイルや追加したファイルなど、すべての変更が失われますので、注意が必要です。
ステージングから送信まで
ここからは、常に使うコマンドたちです。
add
addは、ブランチをステージングするときに用います。ステージングが分からない方は、コチラを読んでください。
git add .
で変更したファイルすべてステージングすることができます。一部のファイルのみステージングする場合は git add <ファイル名>
です。
commit
commitは、変更内容を送信する前のセーブみたいなものです。送る準備と思ってください。
git commit -m "<コメント>"
ダブルクォーテーション内にどのような変更を行ったのか入力するとよいです。
日本語データは、基本文字化けするので、文字化けを直したい方はコチラをご確認ください。
push
pushは、リモートリポジトリへ変更した内容を送信するときに用います。
git push origin
でリモートリポジトリへ送られました。その後、プルリクエストを行ってください。
メインブランチを統合する
メインブランチに対し、数名で作業している場合があります。自身の作業前に最新のメインブランチの状態をローカルに落とし込みましょう!
pull
pullは、メインブランチの内容をローカルのブランチへ引っ張ってくるときに用います。
まず、自身のローカルリポジトリのブランチをメインブランチに切り替えます。ここでは、「new_branch」をメインブランチとしています。git pull
をすると、メインブランチがローカルリポジトリで最新状態になります。
merge
mergeは、「統合する」という意味です。
ローカルリポジトリでメインブランチを最新状態にしたあと、作業を行うブランチに切り替え最新状態のメインブランチと統合させます。git merge <メインブランチ名>
と打ってください。
fetch
fetchは、「pull」とは異なり、リモートリポジトリの最新版を仮で持ってくるようなイメージです。「pull」の場合、書き換えてしまうのですが、fetchは書き換えることはありません。書き換える前に内容を確認するということです。
git fetch origin
でリモートリポジトリの内容を落とし込まずに持ってくることができるみたいです。私は使ったことない…。
まとめ
以上、私が知っているコマンドたちでした。いろいろ打って、試してみてくださいね!