AQ Tech Blog

インターン生が初めてGitHubを触った感想

作成者: rio.chijimatsu|2024年10月10日

はじめに

今回8~9月の2ヶ月間、インターンシップ生としてアジアクエストにて業務に参加しました。経験を経て学んだこと、特にGitとGitHubの基本について、初心者の目線から解説します。

記事の狙い

  • インターンシップ中に学んだGitとGitHubついて初心者の目線から解説するのを通し、IT企業でのインターンシップがどのような雰囲気を伝えたいと思いました。

自己紹介

私は現在大学3年生で、就活中です。今回、アジアクエストの実務インターンシップに参加させていただいたのですが、それまでITの知識はほとんどありませんでした。
普通の文系大学生がITインターンに取り組んだ記事として読んでいただきたいです。

ITインターンシップに参加して数日は、環境構築のみ行なっていました。
チーム開発に参加するためにはGitとGitHubを前提として活動するようで、まずそれを学ぶところから始まりました。

Gitとは?

Gitは一言でいうと「ソースコードの変更を記録して管理してくれるツール」です。
文字だけで説明してもわかりにくいので図解すると、例えば、あるプロジェクトのファイルに入っているXの機能を持つソースコードを編集しているとき、間違えてXの機能が書いてある部分を削除して保存してしまったとします。
この時Xの機能をもう一度復元させたいけれど、どんな内容だったか忘れてしまったとしたら困りますよね。
こんな時にGitを使っていれば、編集前のXの機能が残ったソースコードが保存されているので、簡単に復元して修正することができます。

ここでいくつか用語を説明します。

  • リポジトリ
    Gitで管理するファイルのまとまりのことです。
    上の例でいうと、プロジェクトのファイルがリポジトリになる場合が多いです。
  • コミット
    リポジトリ内の編集を記録すること。
    例えば、「Xの機能を追加する」というコミットと、「Xの機能を削除する」というコミットがリポジトリには残っていて、前者を復元することで修正できるわけです。

次にブランチとマージについて説明します。

「ブランチ」とは編集の履歴が残る枝のようなものです。ブランチから分岐して新しいブランチを作成することで、他のブランチの影響を受けずに新しく編集の履歴を残すことができます。
ブランチは他のブランチに「マージ」することで、そのブランチで行った編集を統合することができます。

ブランチを分けることのメリットは、 例えば機能Aを追加したい時に、機能A追加用に新しくブランチを作成し、機能Aの編集記録をそのブランチに残しながら開発を進められることです。
並行して、他の人は他のブランチで作業を進めることができます。複数人で作業しているリポジトリで機能を追加する際は、新しくブランチを作成して作業するのが基本です。

GitHubとは?

GitHubは、Gitを利用したWebサービスです。
GitHubではクラウド上でリポジトリを管理し、チームの開発者同士で共有することができます。
GitHub上にあるリポジトリは「リモートリポジトリ」と呼ばれ、それをクローン(複製)して各ユーザーのマシンに配置したものを「ローカルリポジトリ」と言います。
ローカルリポジトリで行った編集をローカルリポジトリに共有することを「プッシュ」といいます。
チーム開発の際に便利なものとして、ローカルリポジトリからリモートリポジトリにプッシュする際、その変更を誰かにレビュー依頼する「プルリクエスト」という機能があります。
プルリクエストが作成されると、レビュー担当者はその変更をレビューし、問題なければリモートリポジトリにマージ、修正などがあればプルリクエスト作成者にコメントを残すことができます。
チームで開発を行うにはコードレビューを徹底することが重要で、自分がこの仕組みを知ったときは、発案者の頭の良さに脱帽しました。

IT企業でインターンシップに参加して思ったこと

アジアクエストでインターンシップを始めるまで、IT企業とはどんな感じなのか、イメージが全くできませんでした。
そんな状態で出社して抱いたのは、人がすごいあったかい、環境がすこぶるいい、といった印象でした。
教材がたくさんあったり、有志で勉強会が開かれていたり、休みの日にはBBQが開催されたり、他に参加した国内企業のインターンシップと比較して、とてもちょうど良い距離感で仲が深められる素晴らしい職場だと感じました(回し者みたいな言い方になってしまいましたが、本心です)。