【Gitの流れ】開発現場で使うGitのコマンド

2023年1月22日Git

git

kamiです。
TwitterYoutubeもやってます。

みなさんGitの知識はありますか?
この記事はGitのバージョン管理について聞いたことはあるけど、いまいちgit pushやgit pullなどについてよく分かってない方や、
そもそもgitについての全く知識がない方へ開発現場で使われるにgitの流れついての紹介です。

この記事でわかること

  • gitについて
  • gitのコマンド、オプションの意味
  • gitの流れ

この記事を最後まで読めば「gitについてから「gitの流れ」までの理解が深まりますので、最後まで読んで「git」についてマスターしましょう。

それでは順に見ていきましょう。

gitの開発の流れ

結論になりますが、以下がgitの流れです。

  • git init
  • git remote add origin リポジトリ
  • git clone リポジトリ
  • git checkout -b ブランチ名
  • git push -u origin HEAD
  • git add -A
  • git commit -m “コメント"
  • git push origin ブランチ名
  • git pull origin mian

プロジェクトの有無について

これからプロジェクトを作ってgit管理する方は
このまま記事を読んでください。

icon

すでにプロジェクトが作成されている場合は、
飛ばしてgit cloneから見てください。

スポンサードサーチ

git init

git initとは

git initはリポジトリを作ることができます。
そもそもですがgitとはバージョン管理システムで、git initすることでリポジトリが作成されます。

リポジトリとは

gitのリポジトリとは、ファイルやディレクトリの状態を記録する場所です。
保存されたファイルやディレクトリの内容は変更履歴として格納されます。

git add

initしたリポジトリをaddしてステージエリアに反映させます。
ここではgit add -Aのコマンドと叩いてください。
-Aで全ての変更点をステージングエリアに反映できます。

スポンサードサーチ

git commit

git commit -m "リポジトリ作成直後の最初のコミット"
git commitでローカルリポジトリーのインデックスにあるファイルの変更を記録します。
gitは更新履歴をインデックスで管理しているので、ステージエリア(git addした内容)をcommitすることでインデックス管理することができます。

git remote add origin リポジトリ

originとは

originとはリモートリポジトリのGitがつけている名前(リポジトリの場所の別名【URL】)のことです。

git remote add origin リポジトリではリモートリポジトリへ追加することができます。
追加することで、ローカルとgitを紐付けさせることができます。

git remote add origin URL

git remote add origin 追加したいリポジトリ

githubでリポジトリを追加

git remote add origin git@github.com:kami/sample_app.git

gitlabでリポジトリを追加

git remote add origin git@gitlab.com:kami/sample_app.git

スポンサードサーチ

git clone リポジトリ

git clone リポジトリ

git clone リポジトリ

git cloneするのは次の2つがあります。

  • HTTP
  • SSH

HTTPであればクローンすることができますが、privateリポジトリはgit clone時に認証または、
SSH公開鍵の設定が必要です。

git checkout -b ブランチ名

ブランチとは

ブランチとは作業した履歴の流れをブランチ毎に分岐して記録していく作業場のようものです。

git checkout -b ブランチ名

git checkout -b ブランチ名でブランチを作れます。
ブランチを作ることでmainブランチから任意のブランチへ切り替わります。

git checkout -b ブランチ名

開発現場や開発方法にもよりますが、gitのプロジェクト管理ではfeatureブランチを作ることが基本です。

git checkout -b feature/ブランチ名

詳しくはGit-flowで説明しますね。

git push -u origin HEAD

git push -u origin HEADとは

git push -u origin HEADについて説明するまえに、git push origin HEADとgit push -u origin ブランチ名を説明します。

git push origin HEAD

gitで出てくるコマンドのオプションなどを説明します。

  • push:ローカルのリポジトリをリモートリポジトリにアップするために行う
  • origin:リモートリポジトリのGitがつけている名前(リポジトリの場所の別名【URL】)
  • HEAD:現在、自分が作業している場所を示します。

つまりgit push origin HEADは、「gitでカレントブランチをリモートの同名ブランチにプッシュ」する際に使用することができます。

※ローカルブランチとリポートブランチは同名にするのが一般的です。

git push -u origin ブランチ名
git push --set-upstream origin

–set-upstreamと-uは御一緒に説明します。

  • –set-upstream:リモートリポジトリのブランチを上流ブランチ(Upstream branch)として設定する
  • -u:-set-upstreamの略

上流ブランチ(Upstream branch)とは

上流ブランチ(Upstream branch)とは、ローカルブランチが、履歴を追跡できるように設定したリモートブランチの事です。

上流ブランチの設定を行うと、git push時にリモートレポジトリ名とブランチ名を省略できます。

git push –set-upstream originはgit push -u origin ブランチ名と同じです。
–set-upstreamの省略が-uです。

icon

いよいよgit push -u origin HEADについてです。

git push -u origin HEAD

git push -u origin HEADとはローカルブランチをローカルと同じブランチ名でリモートへ、リモートリポジトリのブランチを上流ブランチ(Upstream branch)として設定します。

 

git add -A

git add -Aの前にgit add ファイル名を先に説明しますね。

git add ファイル名とは

git add ファイル名

git addは、指定したファイルをインデックスに登録してコミットの対象にするコマンドです。

git add text.txt

gitはステージエリアに、変更点(新規のファイルや編集したファイル)を反映させるためにコミットします。ファイルをステージエリアに追加したら、git commitコマンドでコミットします。
コミットした内容は、git pushコマンドでステージエリアにある変更点をリモートリポジトリにプッシュします。
※pushとは同期のことです。

  • git add –update:バージョン管理されている変更があるファイルのみaddする
  • git add -u:git add –updateの略
  • git add –all:変更があるファイル全てをaddする
  • git add -A:git add –allの略

git add -uとは

git add -uではージョン管理されている変更があるファイルのみaddします。
変更したファイルや元々あったファイルを削除した場合はaddできます。
新しく作成したファイルはaddできません。

git add -Aとは

git add -A

変更があったすべてのファイルがaddします。
新しく作成、更新、削除したファイル、すべてがaddされます。

今回は詳しく説明しませんが、gitには多くのオプションがあります。
気になるものがあれば調べてみましょう。

  • git add . :すべてのファイル・ディレクトリ
  • git add *.js :すべてのjsファイル
  • git add -n :追加したファイルを調べる

git commit -m “コメント"

git commit -m “コメント"とは

git commit -m "ステージエリアにいるaddしたファイルを"

git commit とはローカルリポジトリーへ、インデックスにあるファイルの変更を記録します。
リモートリポジトリへ記録する際にローカルリポジトリのどの変更点なのかをインデックスをつけることで、コミットが検引できます。

-mは–messageのことです。
どちらでも大丈夫です。

git push origin ブランチ名

git push origin ブランチ名とは

git push origin branch_name

git push origin ブランチ名はリモートリポジトリのブランチへcommitした内容を更新します。
※ブランチ名を指定することで、任意のリモートブランチへpushできます。

先ほど学んだgit push origin HEADでローカルとリモートが同じブランチにpushすることもできるので、まだgitの知識について不安な方はgit push origin HEADをおすすめします。

慣れている方や上流ブランチを指定できてるのがわかっている場合はgit pushのみでpushできます。

git push origin branch_name

or

git push origin HEAD

git pull origin main

pullとは?

pullとはリモートリポジトリからローカルリポジトリへ最新の情報を取得してローカルを更新することです。

git pull origin main

git pull origin mainはリモートのmainブランチからローカルの現在作業しているブランチを最新にすることです。
流れとしてはgit push後に自分の作業ブランチも他の開発者のpush情報などを反映させることから、mainをpullしてますが、任意のブランチのみpullしたりすることもできます。

git pullとgit pull origin mainの違い

  • git pull:リモートにある全てのブランチ情報を取得する
  • git pull origin main:リモートにあるmainブランチ情報を取得する

注意点としてはリモートブランチとローカルブランチがあるようにmainブランチもリモートブランチとローカルブランチがあります。

まとめ

  • gitの奥は深く、すぐに覚えれないのでまずは開発の流れを頭に入れてください。

実装やエラーが解決できない場合

プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。

考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。

そういう時は聞ける先輩や、メンターに相談することが大事です。

僕にも相談可能なので気軽に相談してください。

Twitterからの連絡だと確実ですよ。

オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。

Web開発で分からない時

オンライン完結型スクール DMM WEBCAMP PRO

アプリ開発で分からない時

プログラミング×稼げる副業スキルはテックキャンプ

プログラミングについて分からない時

【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。
ミニマリスト_カミ

僕への個人でもメンターでも、スクールでもお好きな方を活用ください。

GitGit

Posted by kami