Slide 1

Slide 1 text

Git / GitHub勉強会 2025年12月10日

Slide 2

Slide 2 text

はじめに 本資料は2025/12/11に 静岡県立大学エンジニアサークル「 ZAGARO」で行いました 「Git / GitHub勉強会」にて使用した資料です これまでに使用経験が無い初学者向けに説明していますので 正確な記述ではない箇所もございます なお、公開にあたって一部の資料データが変更されている箇所がございます あらかじめご了承ください

Slide 3

Slide 3 text

自己紹介 - 名前: Sou Yamazaki - 大学: 静岡県立大学 - 好きなこと: 旅行・YouTube・フォント - ひとこと: 最近、サークル向けのタスク管理 ツールを作りました!

Slide 4

Slide 4 text

今日の目次 1. ファイル名の混乱から脱却してみよう 2. Gitの紹介 3. GitHubの紹介 4. Gitのインストール(環境構築)

Slide 5

Slide 5 text

ファイル名の混乱から 脱却してみよう Chapter 01

Slide 6

Slide 6 text

⼤学で提出する課題って どのように管理するのが正解?

Slide 7

Slide 7 text

管理でやっちゃいがちなこと: がむしゃらバージョン管理 ファイル名の末尾にバージョン(フレーズ)を手打ちする (最終版、ファイナル、v2 など・・・) 出典: この中で一番新しい(と思う)ファイルはどれ? - Binary Diary

Slide 8

Slide 8 text

なんでこれをやるのか ❏ 変更を復元できる状態 を作りたいから! 上書きすると過去のデータが復元できなくなるから、 別名でファイルを管理すればよいのでは・・・? ❏ ファイル検索で絞り込みができるから エクスプローラーで”最終版”と検索すればそれだけヒットする 私はそういう使い方してないです ❏ オンラインの同期システムが好きじゃないから OneDriveなどでオンラインに自動保存されるのはいいけど ... よくわからないタイミングでセーブされてもキリが悪くて ... オンライン側が使えなくなったら作業できるの? という声も

Slide 9

Slide 9 text

がむしゃらバージョン管理 のデメリット ❏ ファイル名が不統一 どれが「最新のファイル」なのかわからない ❏ ディスク容量の浪費 些細な変更でファイルがどんどん増えていくと ストレージが圧迫される ❏ 変更内容が不明確 変更前後で「どこが・どう変わったのか 」がファイル名から判断できない また、判断できたとしても情報が少なすぎる 解決策: バージョン管理システムを導入 する

Slide 10

Slide 10 text

Chapter01のまとめ - がむしゃらなバージョン管理はデメリットが多い - とはいえ、管理を行う背景は共感できる

Slide 11

Slide 11 text

Gitの紹介 Chapter 02

Slide 12

Slide 12 text

Gitとは(簡単な紹介) - ファイルのバージョン管理が 簡単にできるツール 分散型バージョン管理システム - リーナス・トーバルズ が 開発を開始 - 約20年もの歴史をもつ - Linuxの開発でバージョン管理が 必要になり誕生 出典: リーナス・トーバルズ - Wikipedia

Slide 13

Slide 13 text

Gitの基本的な考え方 「ファイルをコピーする」のではなく、「変更を記録する 」 - スナップショット (Snapshot) (≠差分) 変更を加えたファイル全体をコピーして保存するのではなく 「その時点の状態」を記録するイメージ スナップショットと差分の違いはここでは割愛します - コミット(Commit) 「この変更を確定するぞ 」という操作 コミットごとに変更内容のメモ(コミットメッセージ)を残せる ゲームのセーブポイントにメモを残せるイメージで大丈夫です!

Slide 14

Slide 14 text

具体例(ZAGAROの技術ブログ) 各行に書かれているテキスト →コミットメッセージ どこで・どんな変更 をしたのか 後からでも追跡できる! 変更を行った人もわかるので チーム開発の際も コンタクトが取りやすい などのメリットも

Slide 15

Slide 15 text

具体例(ZAGAROの技術ブログ) 変更前後でどんな変更があったのか もわかる

Slide 16

Slide 16 text

Gitでできること 1. 過去へのタイムトラベル ファイル名の混乱なしに 過去のコミット(セーブポイント)へ一瞬で戻れる 「間違えて消しちゃった!」「 3週間前の状態に戻したい!」 と思ってもOK 2. 安全な実験環境( ブランチ)の実現 コミット履歴を分岐することができる(分岐→枝分かれ→ブランチ) 主要の作業を壊さずに、並行して別の修正やテスト を行うことができる (実験ブランチで問題なく処理を実装できたら、主要ブランチへ合流 みたいなことができる ) チーム開発では とても重要な考え方 になる

Slide 17

Slide 17 text

具体例(ZAGAROの技術ブログ) 路線図のようなものがブランチです

Slide 18

Slide 18 text

Chapter 02のまとめ - Gitは「変更を記録して」バージョン管理を行うツール - コミットごとに変更内容がわかるので、ファイル名で困惑しない - コミットさえしていれば好きなとこへ戻れる - ブランチ機能を使用して安全な作業が実現できる - チーム開発でとても役立つ Office系のファイル(.docx .xlsx .pptx)などはGitで管理可能ですが、 差分は表示できないことは知っておくとよいです。

Slide 19

Slide 19 text

GitHubの紹介 Chapter 03

Slide 20

Slide 20 text

GitHubとは - プログラムのソースコードを オンラインで共有・管理するサービス 正式には Gitを使用したバージョン管理を提供する 開発者のためのプラットフォーム - 個人でも企業でも利用可能 - コードの管理だけではなく 様々な機能が充実 - 原則としてページは英語 のみ - 現在はMicrosoftの傘下

Slide 21

Slide 21 text

GitとGitHubの違い ここでは「撮影した写真 」をテーマに例え話 - 撮影した写真のトリミング・加工 = Git 原則としてローカルにしか残らないため 見ることができるのは自分のみ - その写真をInstagramやXなどに共有 = GitHub オンライン上にアップロードするので 他のユーザーにも見てもらうことができる X以外にもつぶやきプラットフォームは複数ある (Misskey.io, Blueskyなど)ように GitHubはプラットフォームの一種! (他にもBitbucket, GitLabなどがある) Gitをより便利にするツールが GitHub!GitHubは無くても開発は可能

Slide 22

Slide 22 text

GitHubの主な機能①:リポジトリ <リポジトリ> Gitで管理されたファイル一式を GitHub上に置く場所 アクセスすれば履歴全体を 誰でも確認することができる (公開設定の場合) 右のリポジトリも閲覧できます https://github.com/uos-zagaro-eng/zagaro-tech-blog

Slide 23

Slide 23 text

GitHubの主な機能②:Pull Request (PR) <Pull Requestとは> あなたが加えた変更を他のメンバーに 「取り入れて!」と提案できる機能 チーム開発で頻繁に用います! これを必須とすることで 主要のブランチを破壊する可能性 を 削減することができる! ※主要ブランチ = 常に正常であるべき

Slide 24

Slide 24 text

GitHubの主な機能③:就職に役立つポートフォリオ 公開の場であることから以下のメリットがある - 学習の証 学んだこと・取り組んだプロジェクトを 具体的な実績として示すことができる - 採用側との共通言語 IT企業はGitHubのアカウントをチェックする ことが一般的なので スキルの証明になる エンジニア就活サイトでは ”制作物”を記入できる項目がある

Slide 25

Slide 25 text

動画で見る「GitHub」 https://youtu.be/w3jLJU7DT5E?si=q5G_xcCif-QECvpX

Slide 26

Slide 26 text

Chapter 03のまとめ - GitHubはGitをより便利にするためのWebサービス - リポジトリをオンラインに保存・公開することができる - 共同開発の際に「Pull Request」がよく使われる - 就活の際にポートフォリオとして役に立つ - 共同開発だけでなく、別の環境でプロジェクトの続きを進めるときも便利 (家ではデスクトップPC、大学ではノートPCで作業をする など...)

Slide 27

Slide 27 text

Gitのインストール (環境構築) Chapter 04

Slide 28

Slide 28 text

ここから先は以下のサイトに沿って進めます https://prog-8.com/docs/git-env-win Windows向けの記事です。