見出し画像

内定者勉強会開催しました!~はじめてのGit~

こんにちは!
今井@Forest編集部です。

3月も終わりに近づき、徐々に暖かい日が増えてきましたね。
アレルギー体質の僕にとっては花粉の動向が気がかりなところではありますが、何事にも活動的になり意欲がわいてくる、そんな季節でもあります!
とりあえず僕は直近の目標として、現在BTC内で活動が盛り上がりつつある「社内サークル」を新たに立ち上げるため密かに準備中です…
その様子もまた記事にしていつかお届けできればと思います!

さて、今回は22卒内定者向けに昨年の12月中旬に開催した勉強会の様子をお届けいたします。
11月中旬に開催いたしましたProgate質問会に関してもぜひご覧ください。

今回は「はじめてのGit」ということで、開発現場ではおなじみ、Gitに関する勉強会を行いました。
任意参加であったにもかかわらず、何と19名もの22卒内定者の方々に参加いただきました!皆さんご参加本当にありがとうございました…!

それでは、実際の様子を当日の流れとともにご紹介いたします!

■勉強会内容

Gitとは?

まず初めに今回のメインコンテンツであるGitについて、その概要を説明しました。簡単におさらいしておきます!

■Git概要
・チーム開発の場で用いられるバージョン(≒変更履歴)管理ツール
・プログラムのソースコード等、チーム内で共有する資材の変更履歴を管理する

■具体的な使用例
・ソースコードにある編集を加えたが、動作不具合が生じたため、編集を加える前の状態に戻す
・開発者のAさんとBさんが各々加えた別の変更を統合してプログラムに反映する

一言でいうと、Gitとは”共有資材の変更履歴を管理し開発効率を向上させるツール”です。

Gitを使うための準備

実際にGitを使うためにはいくつか準備が必要となります。
参加者の皆さんには、以下2つの作業を準備として行ってもらいました。

  • GitHubアカウント作成

  • Git Bashインストール

GitHub
Gitで管理するプログラム等を保存・公開・共有するためのWebサービス

Git Bash
Git操作をコマンドとして打ち込み実行することのできるソフト

ここまでで実際にGitを使う準備が整いました!

チーム分け・自己紹介

準備が整ったところで、チームに分かれて自己紹介を行いました。
1チーム2~3名の計7チームに分かれ、各チームに21卒の先輩社員が1名メンターとしてつきました。
僕がメンターとして担当を務めたチームの皆さんは勉強会当時卒論や修論執筆などに追われていた印象です…お忙しい中本当にご参加ありがとうございました!

僕が担当したチームに限らず参加してくださった内定者の皆さんにとっては4月から同期となる仲間の素顔を知るいいきっかけになったのではないでしょうか?

Gitを用いたWebページの公開

GitHubアカウントを作成するとプログラムやWebページ等を公開することができるようになります。
今回の勉強会では、Git Bashにコマンドを打ち込み、自分のGitHubアカウント上でサンプルWebページを公開することを目指し、チームで作業に取り組みました。
大まかな作業内容としては以下の通りです。

①【GitHub】アカウントにログインしリモートリポジトリを作成
②【Git Bash】コマンドを打ち込みローカルリポジトリを作成
③【Git Bash】ローカルリポジトリ上に公開したいサンプルWebページを配置→リモートリポジトリにアップロード
④【GitHub】サンプルWebページを公開

これだけでは一体何をやっていたのかよくわからない方も多いと思いますので、実際に勉強会で用いたスライドを何枚か紹介しながら流れに沿って補足していきます。

①【GitHub】アカウントにログインしリモートリポジトリを作成

チーム内で共有する資材の変更履歴を全体管理する保管庫”となるのがリモートリポジトリです。GitHubでは数回のクリックのみで簡単にリモートリポジトリを作成することができます。
リモートリポジトリは、インターネット経由でアクセスが可能なため、アップロードされたWebページは公開することができます。

②【Git Bash】コマンドを打ち込みローカルリポジトリを作成

実際の現場では、開発者が手元のPC(=開発の世界ではローカルと呼ばれます)でプログラム等を編集し、変更分をリモートリポジトリに反映する、という流れで開発が進められます。
この際、”ローカルでの変更履歴を管理し、リモートリポジトリへの反映準備を行う保管庫”がローカルリポジトリです。

※以下「ディレクトリ」とはフォルダとほぼ同じものと考えてください。

ローカルリポジトリを作成するにはまずcdコマンドを用いて、ローカルリポジトリを作成したいディレクトリへ移動します。

cd (移動したいディレクトリ)   // 指定したディレクトリに移動

上記はローカルリポジトリを作成している様子です。
細かな各コマンドの意味は画像のコメントを参照いただくとして、一言で作業内容をまとめると、"sampleディレクトリに移動し、sampleディレクトリをローカルリポジトリとして登録"しています。

コマンドに慣れないうちは少々難しく感じるかもしれません。ですが皆さんもPCで何かファイルを作成すると、以下のように任意のフォルダ内にファイルを保存しますよね。

・「2021-10-20_レポート.pdf」というファイルを作成
・「デスクトップ」に配置した「授業レポート」フォルダ内の「2021-10」フォルダ内に保存

これはまさにcdコマンドで

cd デスクトップ/授業レポート/2021-10

を打ち込んで「2021-10」フォルダに移動し、ファイルを配置することと同義です。

ディレクトリを移動した後、「git init」というコマンドを流すとそのディレクトリがローカルリポジトリとして登録され、ローカルでの変更履歴を管理できるようになります。

③【Git Bash】ローカルリポジトリ上に公開したいサンプルWebページを配置→リモートリポジトリにアップロード

ここまでできたらいよいよサンプルWebページの公開作業です。大まかには以下の流れで作業を行いました。

  • Git Bashから作成したリモートリポジトリに接続(★)

  • ローカルリポジトリにサンプルWebページを配置
    ☝Webページを追加という編集をGitが検知

  • 『git add (サンプルWebページファイル名)』を実行
    ローカルでの編集内容の記録準備

  • 『git commit -m ‘編集内容説明’』を実行
    ☝ローカルでの編集内容をローカルリポジトリに記録

  • 『git push origin master』を実行
    リモートリポジトリにローカルでの編集内容を反映

コマンドが多く、面倒くさいと思った方も多いかもしれません。
しかし、こまめにコマンドを流し変更履歴を段階的に記録することで、柔軟に編集状態を進めたり戻したりすることができるようになります
1コマンドのみで編集内容を反映できる、というのは一見便利そうですが、本当は反映したくない編集内容も反映してしまったり、特定時点の状態に戻しづらくなったりと、開発におけるデメリットも多くなります。

④【GitHub】サンプルWebページを公開

③までの作業でGitHub上のリモートリポジトリにサンプルWebページがアップロードされました。あとは設定メニューから数クリックするのみでWebページを公開することができます。

URLを打ち込んでページが表示されれば成功です!

(★)番外編『リモートリポジトリの認証がうまくいかない…?』

③の作業中、リモートリポジトリへの接続認証を試みた際に、各チームで以下謎のエラーが頻発し作業が止まってしまうというアクシデントが起きました。何度やってもリモートリポジトリに接続できない…このままではWebページの公開はできません。

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for 'https://github.com/kyriekun/btcgitstudy.git/

『今回の勉強会失敗かも…?』と少々重い雰囲気が流れたのも束の間、メンターを務めた21卒メンバー各自の調査により、上記エラーが『2021/8/13以降、Gitの認証方法が変更された』ことによるものであることが判明しました!

■参考

もちろん何もエラーが起きずすべて想定通りにいくのが理想ではありますが、実際の現場では想定外のエラーが起きるのは日常茶飯事です。明確な答えが見つからない場合も珍しくありません。
そんな現場で最初に求められる最も基礎的で重要な力は”ググる力(検索力)”だと僕は考えています。

ググる力”にも様々な要素があると思いますが、以下は開発時のエラー原因調査だけでなく、社会人として様々な場面で必要とされるものではないでしょうか。

  • 問題の原因にあたりをつける

  • キーワードを適切に組み合わせ検索

  • あたりをつけた原因に関連する検索結果を確認

  • 検索結果を咀嚼し原因を整理

今回の勉強会はそういった場面を体験できたという意味で、参加者の皆さんだけでなく、メンターを務めた21卒メンバーにとってもよい機会だったのではないかと思っています!

■まとめ

Gitとはどんなものかという説明に始まり、Gitを使う準備、チームに分かれたGit操作演習と進めてきた今回の勉強会。順調かに思えたものの途中で進行を大きく妨げたアクシデントもありました。
しかし最後にはWebページの公開に成功し、見れた!という喜びの声をたくさん聞くことが出きました。苦労した後の成功は喜びも一入です。
運営に尽力してくださった人事部の方々、メンターを務めてくれた21卒のメンバー、そして内定者の皆さんの協力があったからこそ素敵な会になったのではないかと思います!

内定者の皆さんから”楽しかった”という声を聞けてとても嬉しく思っています。入社まであと数日、不安や期待などが入り混じっているかとは思いますが、内定者の皆さんがこの勉強会を通してBTCへの入社を少しでも楽しみにしてくれていると嬉しいです。

最後に全員で撮った記念写真を!

BTC公式note、Forestでは、加速的に成長・変化し続けるBTCの源泉である社員、根付いているカルチャー、採用関連情報・イベントなどを紹介していきます!
noteは非会員でもスキ!できます。励みになるのでぜひ♡押してください!

この記事が気に入ったらサポートをしてみませんか?