GitとGitHubについて

GitとGitHubについて

もりけん塾に入るとGitとGithubを使って、課題の提出を行います。この記事では、最初に勉強したGitとGithubついて説明していきます。

GitとGitHubについて

Gitはソースコードなどの追加や変更履歴を管理するためのバージョン管理システムです。いつどこで何を誰が行なったのか履歴を残すことができます。

GitHubは、クラウド上でGitを使えるようにするためのWebサービスです。Gitを使って複数の人で共同で開発を行うときにとても便利です。GitHubはマイクロソフト傘下のGitHub社によって運営・保守されています。

GitHubを無料プランで利用する場合、リポジトリにアップしたデータは、全世界に公開されます。非公開にしたい場合は、有料プランの契約が必要です。

リポジトリとは

リポジトリとは、プロジェクトの変更履歴をしまっておく場所です。英語で「貯蔵庫」を意味します。GitHubに作ったリポジトリを自分のパソコンにクローン(複製)して、ローカルのリポジトリを作ります。

Bitbucketついて

Gitをクラウド上で管理するためのWebサービスは他にもあり、私の場合、普段のお仕事ではAtlassian社が提供しているBitbucketを利用しています。Atlassianは、オーストラリアのシドニーで発足したシフトウェア会社で、日本にも拠点があります。

Bitbucketは、メンバーが5人までなら、リポジトリを無料で非公開にすることもできます。他の機能はは、GitHubとほとんど同じです。Githubよりも、画面がとてもシンプルです。

コードのレビューについて

GitHubやBitbucketには、コードをレビューする機能があり、他の人からコメントをもらうことができます。コードを書く人をレビューイ、レビューしてくれる方達をレビュアーと呼びます。

もりけん塾では、Githubにアップして課題を提出、もりけん先生と塾生の皆さんにコードレビューをしてもらいます。他の塾生さんたちから実装方法について、アドバイスして頂いたり、質問をすることができるので、とても勉強になります。

データをGithubにpushするには

GitHubのリポジトリに、データをアップロードすることをpushといいます。GitHubにpushするためには、Githubのアカウントが必要です。

  1. GitHubのアカウントをこちらから作ります。
  2. アカウントを作ったら、先にリポジトリを作ります。
  3. リポジトリを作ったら、ローカルにクローンします。
  4. クローンしたら、リポジトリと同じ名前のフォルダができるので、その中に自分のローカルのファイルを入れて行きます。
  5. GitHubにPushします。

ブランチというのは、ひとつのソースコードを途中で枝分かれさせるための機能です。開発現場では、本番用のブランチ、リリース用ブランチ、開発用ブランチ、機能追加用ブランチ、バグの修正用ブランチなど、目的に合わせてブランチを分けることが一般的のようです。

ブランチのワークフローについては、下記のサイトが詳しいので、おすすめです。

https://www.atlassian.com/ja/git/tutorials/comparing-workflows/gitflow-workflow

GitHubへPushするまでの手順

GitHubでリポジトリを作る

それでは、まずGitHubでリポジトリを作っていきます。GitHubにログインしたら、リポジトリを作ります。

※GitHubでは、全てのデータが全世界に公開されますので個人情報を載せる際は、気をつけてください。

リモートリポジトリをクローンする

リポジトリができたら、ローカルにリモートリポジトリをクローンして、ローカルリポジトリを作ります。

ローカルでブランチをきる

ローカルリポジトリができたら、必要なブランチをつくります。

コードやデータ用意する

クローンしてできたフォルダの中に、ファイルを作って入れていきます。

GitHubにPushする

GitHubにPushします。

GitHubにpushした後の流れ

GitHubにpushしたあとは、プルリクエストをします。プルリクエストをすると、コードレビューができるようになります。コードレビューをしてもらい修正が必要なら、この段階で修正します。

コードに問題がなければ、Approve(承認)してもらい、mainブランチ(本番用のブランチ)に現在のブランチを合わせます。ブランチを統合することを、マージと言います。

マージが終わったブランチは、削除するのが一般的と教えて頂きました。 GitHubには、mainブランチにマージが終わったブランチを自動で削除できる機能があるので、設定しておくとリモートブランチをいちいち削除する手間が減ります。ローカルブランチの方は、リモートが削除されていても、残るので私はいつも手動で削除してます。

次の機能を追加する時は、また新しいブランチを作り同じ作業をします。

この記事を書くときに参考にしたサイト:

https://kinsta.com/jp/knowledgebase/git-vs-github/

https://www.atlassian.com/ja/git/tutorials/learn-git-with-bitbucket-cloud

まい

フロントエンドエンジニア目指して、勉強中です。

Gitカテゴリの最新記事