11月07日 Study – 分散型バージョンシステム Git 勉強会

勉強会イメージ

研修テーマ:Git

日時:2022/11/07
目的:開発に必要なツールの用法を学ぶ

【内容】

Gitの使い方

・分散型バージョン管理システム(Git)と中央集中型バージョン管理システム(Subversion)の違い
今回学んだgitは分散型であり、個々での管理や作業が容易、サーバーやネットワークに繋がっていなくても作業ができるなどのメリットがある。

・バージョン管理の必要性とGitのシステム
行った変更を常に残しておく事ができるため、プロジェクトを前の状態に戻したり、修正がしやすい。gitを使う主な目的の一つ。

・GitHubとGitLabの違い
基本的な部分は同じだが、ライセンスやUIなど細かな違いがある。それぞれの違いを理解することができた。

・GitLabでクローンからプッシュまでのハンズオン
実際にテストファイルを用いてGitLabからファイルを複製し、変更を加えたものをプッシュを行うことでGitLab上に変更したものが反映されてバージョン管理されていることをハンズオンにて体験

・チームでの使い方(マージのやり方)
gitを使う主な目的がバージョン管理とこのチームでの使用である。それぞれ作業が終わったタイミングでマージをして一つのアプリケーションを開発していく。

・チーム開発で最も大切な事はコミュニケーション
gitはチーム開発を円滑にしてくれるが、それだけではなく普段のコミュニケーションを大事にしなければ成り立たない事も学んだ。

・GitとEclipseの連携方法
実際にEclipse内で操作をして、プロジェクトを編集をした後にgitLabに上げた。

【所感】

 そもそもGitとは何か、なぜバージョン管理が必要なのか等の基礎から教えていただき、分散型バージョン管理システムであるGitの長所と必要性が理解できた。

Gitには様々なコマンドがある中、実際の現場でのcloneからpush、mergeまでの一連の流れをハンズオンで体験することによって、使用頻度の高いであろうコマンドとその用法を短い時間でも十分に学ぶことが出来た。また、一人だと勉強しづらいチーム開発で利用する際の流れも体験することが出来た。

この勉強会に参加する前からGitHubに自分のコードをアップしたりはしていたのでわかっているつもりになっていたが、いざ複数人でコードを管理するとなるとブランチを切ったり、プルリクやマージ等、の作業が増えて意外と混乱した。

今回、実際の使い方の流れを経験することによってGitを使ってバージョン管理する際の具体的なコマンドは一通り網羅出来たので、勉強会後、早速使ってみることが出来た。大枠の流れは学ぶことが出来たので、チームで実際に試してうまくいかない時には相談する事で、勘違いしやすい点や間違いやすいコマンドが洗い出され、それを解決することによってGitに関する理解を深めることが出来た。

特にCUIによる操作に馴染みがある人は少なく、中には拒否反応を示す人も一定数いると思うので、頭で理解することも重要だが、実際にたくさんコマンドに触れて身体に馴染ませ、CUIによる操作を恐れず身近に感じる事が大切だと感じた。

今回の勉強会は実際のクローンからマージまでの一連の流れを網羅することが出来た。

今後、今回学んだことを反復して身体に染みこませ、Gitを使いこなすことが出来るようになっていくための大きな足がかりとなった。
約3時間の短い時間だったが、実際に手を動かすことによって具体的な動きがわかったので、勉強会後の学びの吸収速度が上がった。