Gitで日常的によく使用するコマンド、その一つひとつがどのような影響を与えるのかを理解することが大事

Gitってなんだか難しそう、と思っている人もいるかもしれません。

Gitはすべてのコマンドを暗記する必要はありません。必要になったら調べるのは、ごく普通のことです。重要なのは、そのコマンドがどのような影響を与えるかを理解することです。

Gitの出発点として、日常的によく使用するコマンドとそれらのコマンドがどのような影響を与えるのか、そしてやってはいけない間違いを紹介します。

Gitで日常的によく使用するコマンド

The 15 Git Commands Every Software Engineer Uses
by Hadil Ben Abdallah

下記は各ポイントを意訳したものです。
※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。

はじめに

私は長い間、Gitは乗り越えなければならない壁だと思っていました。

コマンドを打ち、
何も壊れないことを祈ります、
もし壊れたら、すぐにGoogleで調べる、、、

意味を理解せずに、コマンドを丸暗記して、
Stack Overflowから修正プログラムをコピペして解決。
あとはマージコンフリクトと祈るのみです。

そして自信が持てないまま、毎日Gitを使い続けていました。

気がつくのに時間がかかりましたが、
ほとんどのデベロッパーは、Gitのすべてを使いこなしているわけではありません。
ごく一部のコマンドを深く理解して、使いこなしているのです。

Gitを魔法のように考えているのをやめたら、
Gitは本当に信頼できるツールになりました。

Gitは難しいんじゃない? それはただ慣れていないだけです

Gitを怖いと感じるのは、すべてを記録しているように感じられるからです。

あらゆるミスを、
あらゆる試行錯誤を、
あらゆる「これは後で」を。

それらは確かに怖いことかもしれません。

しかし、Gitはあなたは批判してるわけではありません。
気がついていないだけで、Gitはあなたの作業を見守ってくれているのです。

私はその事実を理解できるようになってから、Gitを学ぶことはプレッシャーではなく、コントロールできるようになる感覚に変わりました。

Gitで実際に日常的に使用するコマンド

それは50個もありません。
日常的に必要になるのは、15個のコマンドで十分です。

ここでは実際にプロジェクトで、実際にチームで、実際に日常的に使用するコマンドとよくある間違いを紹介します。

git status -リポジトリの現在の状態を確認する

git statusは、リポジトリ内で変更されたファイル、ステージングされたファイル、追跡されていないファイル、またはコミット準備完了のファイルを表示します。

やってはいけない間違い

git statusを確認せずに他のGitコマンドを実行すると、間違ったファイルをコミットしたり削除したりする原因になります。

git init —新しいGitリポジトリを初期化する

git initは、プロジェクトディレクトリにバージョン管理のトラッキングを追加することで、新しいGitリポジトリを作成します。

やってはいけない間違い

すでに初期化されたGitリポジトリ内でgit initを実行すると、再度git initを実行したため、ネストされた.gitフォルダが作成され、Gitが混乱した状態になっていまいます。

git clone —リモートリポジトリをローカルにコピーする

git cloneは、リモートリポジトリをダウンロードし、コミット履歴を含めた完全なローカルコピーを作成します。

やってはいけない間違い

ブランチ構造を理解せずにリポジトリをクローンし、すぐに変更をプッシュしてしまうこと。

git add —次のコミットのための変更をステージングする

git addは、ファイルの変更をステージング領域に移動し、次のコミットに含められるようにします。

重要な亜種

  • git add . -現在のディレクトリとサブフォルダ内のすべての変更を追跡します。
    ⚠️サブフォルダ内にある場合、親ディレクトリのファイルは含まれません。
  • git add * -現在のディレクトリ内の隠しファイル以外のファイルのみを追加します。
    ⚠️.env, .gitignoreなどのファイルはスキップされます。
  • git add : -リポジトリのルートからのすべての変更(隠しファイルを含む)を追加します。
    ✅場所に関係なくすべてを追加したい場合のもっとも安全な選択肢です。

やってはいけない間違い

git add .を盲目的に使用してしまうと、コミットするつもりのないファイルが誤ってステージングされます。

git commit -変更履歴のスナップショットを保存する

git commitは、ステージングされた変更を説明的なメッセージとともにプロジェクトの履歴にスナップショットとして記録します。

やってはいけない間違い

「更新」や「修正」といった曖昧なメッセージを書くと、デバッグするときに困ります。

git log -コミット履歴を表示する

git logは、変更内容、作成者、タイムスタンプを含む以前のコミットのリストを表示します。

やってはいけない間違い

コミット履歴を無視して、バグがいつからなのかを推測しようとする行為。

git diff -変更内容を確認する

git diffは、ファイルバージョン、コミット、ブランチ間の行ごとの差分を表示します。

やってはいけない間違い

git diffをせずに、実際に何が変更されたかを確認せずにコードをコミットする。

git branch -ブランチの一覧表示、並行開発の管理

git branchは、開発ラインごとにブランチを作成、一覧表示、名前変更、削除できます。

やってはいけない間違い

機能ブランチを作成せずに、すべての作業をmainで実行する。

git checkout / git switch -ブランチ間を安全に移動する

これらのコマンドを使用して、ブランチ間を移動できます。git checkoutは、別のブランチやコミットからファイルを復元するためにも使用できます。

重要な亜種

  • git checkout branch-name -古いコマンドですが、今でも広く使われています。
  • git switch branch-name -より新しく、より明確で、より安全なブランチ切り替え方法です。

やってはいけない間違い

コミットされていない変更のあるブランチを切り替えると、誤って作業が失われます。

git merge -異なるブランチからの変更を統合する

git mergeは、あるブランチの変更を別のブランチに統合し、それらの履歴を統合します。

やってはいけない間違い

最初に最新の変更をプルせずにマージすると、不要な競合が発生します。

git pull -ローカルリポジトリを更新する

git pullは、リモートリポジトリから変更を取得し、現在のブランチに統合します(設定に応じてマージまたはリベースによって)。

やってはいけない間違い

最初にコミットまたはスタッシュする代わりに、ダーティな作業ディレクトリにプルします。

git push -他の人とコミットを共有する

git pushは、ローカルのコミットをリモートリポジトリにアップロードし、他の人がアクセスできるようにします。

やってはいけない間違い

プッシュ前にプルを忘れることで、プッシュが拒否され混乱が生じます。

git stash -未完了の作業を一時的に保存する

git stashは、コミットされていない変更を一時的に保存し、作業ディレクトリをクリーンな状態に戻すために使います。

重要な亜種

  • git stash -変更を保存し、作業ディレクトリをクリーンアップします。
  • git stash pop -最新のスタッシュを復元し、削除します。
  • git stash list -保存されたすべてのスタッシュを表示します。

やってはいけない間違い

変更を一時保存して、その存在を忘れてしまう。

git reset -変更を元に戻す(Ctrlキー使用)

git resetは、現在のブランチポインタを移動し、オプションでステージング領域と作業ディレクトリを更新します。

重要な亜種

  • git reset --soft HEAD~1 -変更をステージング状態のまま保持します。
  • git reset --mixed HEAD~1(デフォルト) -変更をステージングせずにそのままにします。
  • git reset --hard HEAD~1 -変更を完全に削除します。

やってはいけない間違い

作業が完全に削除されることを理解せずに、--hardを使用する。

git revert -共有履歴で変更を安全に元に戻す

git revertは、履歴を書き換えることなく、以前のコミットを元に戻す新しいコミットを作成します。

やってはいけない間違い

共有ブランチでgit revertではなくgit resetを使用すると、チームメイトの履歴を書き換えます。

おわりに

Gitへの自信は突然訪れるものではありません。

ゆっくりと育まれていきます。
それはミスをした後に、
それはコンフリクトの後に、
それは動かないと思っていたものを直した後に。

ある日、慌てなくなります。
立ち止まり、
git statusを確認し、
そして、落ち着いて前に進むことができます。

それが進歩で、自信となります。

Gitでもうやらないこと

  • ❌ コマンドを盲目的にコピーしない
  • ❌ 何かを壊すことを恐れない
  • ❌ コンフリクトを急いで処理しない
  • ❌ Gitを魔法のように扱わない

Gitは戦うべき相手ではありません。一つひとつのコマンドを理解すべきものです。

もし今、Gitがよく分からないと感じていても、問題ありません。
最初は誰もがそう感じます。

すべてをマスターする必要はありません。
基本に慣れ、使っていると理解が深まると信じてください。

Gitコマンドは完璧さを求めるものではありません。
進捗や履歴を管理し、デベロッパーが作業を失うことなく学べるためのツールです。

焦らず進めてください、
失敗を恐れず、
思慮深くコミットしましょう。

sponsors

top of page

©2026 coliss