Uncategorized

1年目エンジニアが実際によく使ったGitコマンド〜ブランチの概念から学ぶ〜

はじめに

はじめまして。フロントエンドエンジニア2年目に突入したKRです。最近スロットで、逆コンプリートを達成しました!!金欠です!!今回は、入社して最初にぶつかった壁「Git」について書いていこうと思います。

まず特に困ったのがブランチの概念です。「ブランチを切って作業して」と言われても、そもそもブランチって何?切るってどういうこと?という状態からのスタートでした。

この記事では、そんな自分がつまずいたブランチの概念から、1年間実際によく使ったコマンドまでを体験とあわせてまとめています。同じように悩んでいる新卒・初心者エンジニアの参考になれば嬉しいです。

そもそもブランチって何?

Gitを理解する上で避けて通れないのがブランチの概念です。

簡単に言うと、ブランチとは「作業用のコピー」です。

たとえば、Wordで大事な書類を編集するとき、元のファイルはそのままにして「コピー」を作ってから編集しますよね。それと同じイメージです。

よく使うコマンドたち

git pull ── 作業開始前の習慣

チームで開発していると、自分が退勤した後も他の人がコードを更新しています。git pullはその更新を自分のPCに取り込むコマンドです。

作業開始前に、まずgit pull。これが習慣になりました。これをやらずに作業を始めると、後で「あれ、なんか古いコードで作業してた…」となりがちです。


git branch ── 今どこにいるか確認する

現在存在するブランチの一覧と、今自分がどのブランチにいるかを確認できます。

最初のころはこれを確認せずに作業して、「あれ、developで直接作業してた…」ということが何度かありました。作業前に確認する癖をつけましょう。


git switch ── ブランチを移動する

別のブランチに移動するコマンドです。


git switch -c ── 新しいブランチを作って移動する

新しくブランチを作りながら、そのブランチに移動するコマンドです。

タスクを始めるたびにこれを使います。-cは「create(作成)」の略です。

注意点として、このコマンドは今いるブランチを元に新しいブランチを作成します。 そのため、git switch -cを実行する前に、まず元にしたいブランチに移動してから行うようにしましょう。

これをやらずに意図しないブランチから切ってしまうと、そのブランチの変更内容まで引き継いだ状態で新しいブランチが作られてしまうので注意が必要です。

やらかした話:ブランチを間違えて作業してしまった

正直に言います。ブランチを間違えたまま1時間作業したことが何度もあります。

別のタスクのブランチで作業しないといけないのに、前のブランチのままになっていることに気づかず、コードをガッツリ書いてしまいました。

「このままgit switchしたら書いたコード消えてしまう…?」と焦りましたが、そこで活躍したのがgit stashです。


git stash ── 作業を一時退避する

作業中の変更を一時的に退避(保存)するコマンドです。引き出しに一旦しまうイメージです。


git stash pop ── 退避した作業を戻す

git stashで退避した変更を、現在のブランチに復元するコマンドです。

先ほどのやらかしを解決する一連の流れをまとめるとこうなります。

これを知った時は「こんな便利なコマンドがあるのか!」と感動しました。


git branch -d ── 間違えて作成したブランチを削除する

不要になったブランチを削除するコマンドです。

ブランチ名をタイポしてしまったり、間違えたブランチを作ってしまった時に使います。「あ、ブランチ名ミスった」と気づいた時にサッと消せるので覚えておくと便利です。

ちなみに-dを大文字の-Dにすると、強制削除になります。

-dはマージされていないブランチを削除しようとするとエラーになりますが、-Dはそれを無視して強制的に削除します。

間違えて作ったブランチをすぐ消したい時など、まだ何も作業していないブランチであれば-Dを使うと手軽に消せます。ただし、作業内容ごと消えてしまうので使う時は注意が必要です。

まとめ

今回紹介したコマンドをまとめます。

コマンド使う場面
git pull最新の状態に更新する
git branch今どのブランチにいるか確認する
git switch別のブランチに移動する
git switch -c新しいブランチを作って移動する
git stash作業を一時退避する
git stash pop退避した作業を復元する
git branch -d間違えて作成したブランチを削除する

最初はブランチの概念すらわからなかった自分も、実際に使いながら少しずつ身についてきました。コマンドを暗記しようとするより、「こういう場面で使う」というイメージと一緒に覚えるのが一番の近道だと思います。

この記事が、Gitに悩んでいる誰かの助けになれば嬉しいです!

用語集

用語意味
リポジトリソースコードや変更履歴をまとめて管理する場所。プロジェクトのフォルダのようなイメージ
ブランチ本流のコードから分岐した作業用のコピー。機能ごとに作成して作業する
mainリリース済みの安定したコードが置かれる最上流のブランチ
developmainから分岐した開発用ブランチ。各作業ブランチはdevelopから作成し、developにマージする
コミット変更内容をGitに記録(保存)すること。セーブポイントのようなイメージ
プッシュ自分のPCの変更をリモートリポジトリ(GitHubなど)に送ること
プルリモートリポジトリの最新の変更を自分のPCに取り込むこと
マージあるブランチの変更内容を別のブランチに統合すること。作業が終わったらdevelopにマージする
リモートリポジトリGitHub等のサーバー上にあるリポジトリ。チームで共有する
ローカルリポジトリ自分のPC上にあるリポジトリ
スタッシュ作業中の変更を一時的に退避しておく領域のこと

おすすめ記事

Recommend