見出し画像

第一回GitHub勉強会が開催されたけど、まず、言葉がわからなかった私。

デジタルを推進していくにあたって、「開発もオープン化しようぜ!」という流れで、GitHub勉強会が開催されました!!

画像1


技術顧問の田名辺さんから、GitHubとはそもそも何ぞや。
という、基本の「き」のお話がありました。

図ストリームヤード

※このstream yardを使っての更新も、別途まとめたいなー。。。
 初の多数カメラ収録&外部カメラ収録で失敗三昧でした(ぴえん)

repositoryを作って更新をしてみましょう!
コミットしましょう!
プッシュしましょう!
プルしましょう!

という言葉が飛び交い、その場で説明を受けながら触れば
「なるほど!」とわかることができましたが、
私は、配信の練習をしながらお話を聞いていたので、
途中から、「????」状態に。

そこで、お勉強会のこともそうですが、
今日のお勉強会で飛び交った用語について、
説明をするnoteに切り替えたいと思います!!!(違)

そもそも、GitHubってなんですの?

「GitHubとはGitを利用した開発者を支援するWEBサービスです」

・・・。(白目)

田名辺先生が仰るには

Git=ソースコードのバージョンを管理するツールの名前。
開発をする時って、一人でするわけではなくいろんな人が関わってソースコードが書かれていくと思うんです。

いつだれがどこを変えたのか、最新の物はどれなのか?などなど、ソースコード事態のバージョンを把握する必要がありますよね。

このバージョン管理をするツールの一つが「Git」だそうです。

で、GitHub。Gitを管理するためのサービスはGitHubだけじゃなく、いろんなものがあるそうなので、GitHubじゃなきゃGit管理できない!!!ということではないそうです!

ここまでくると、冒頭の「GitHubとは」が、すんなりと入ってくる気がしますよね。。。

画像3

で、ここから勉強会の中で頻繁に飛び交った単語を、自分なりの理解したよ!という証明に、文章にまとめてみました!!間違いなどもあるかと思いますが、「おー。がんばったねー」っと少しでも思っていただけたら、💛を教えていただけると、嬉しいです(´;ω;`)

それでは!まいります!!!

リポジトリとは?

リポジトリとは、要は大項目のような感じだと理解しました!
下の図をご覧ください!

リポジトリがあり、その下にフォルダがあり、さらに下のフォルダやファイルがありというような形で、続いていきます。

なので、、、、例えをするならば、こちらです!

くだものーかんきつ類ーみかん      ―紅まどんな
                    -清見
                    -はるみ
          -レモン      ーリスボンレモン
                    -アレンユーレカレモン
                    -トゲなしレモン
          -ゆず       -多田錦
                    -海野系
    -熱帯産果実ーキウイフルーツ  ―香緑
                    -ゼスプリゴールド
          -マンゴー     ―アタウルフォ
                    -アルフォノソ
    -仁果果実 -ニホンナシ(和梨)-二十世紀
                    -幸水
                    -豊水
          -セイヨウナシ   -バートレット
                    -ラ・フランス
                    -ル・レクチェ
    -核果果実 -ウメ       -南高梅
                    -古城
                    -鶯宿梅
          -サクランボ    -佐藤錦
                    -紅さやか
                    -高砂
          -モモ       -白鳳
                    -日川白鳳
                    -ちよまる

イメージわきますでしょうか?この場合、リポジトリにあたるのは、「くだもの」がその立ち位置なのかな?と。果物の中に、いろんな種類があって、さらにその下に細かい種類のものが入ってるんだよー!!という。。。(え?わかりずらくしてる???笑)

なので、システム開発などで言うなら、「コープさっぽろシステム更改」とか、「人事管理システム更改」とか、そういうのがリポジトリに当てはまるのかな???と思いました!

リポジトリは、二種類あってローカルとリモートがあるそうなのですが、、、。ローカルは、その言葉の通りPC上に作られるリポジトリ。
リモートリポジトリは、WEBサービス上に作られるものです!

ローカルでも、バージョン管理はできますが、「何のためのWEBサービスなんじゃーい!!!」という感じになってしまうので、リモートリポジトリに、自分のローカルリポジトリをアップロードして使う人が多いそうです。(そもそも、GitHubの場合、リモートリポジトリに作って編集もできますしね。。。。)

コミット

ズーチズーチ、ズーチズーチ、たたらーらーん!!!
の結果にコミットではなく!

GitHubでのコミットは、「リポジトリにファイルを保存する」という意味だそうです。もう一個、インデックスという保存方式もあるそうなのですが、今回の勉強会では、コミット!コミット!と田名辺さんはおっしゃってました。(そのたびに、例の曲が流れたのは私だけではないはず。)

コミットでは、変更点と一緒にファイルを保存することができるので、
「私がこれ変更したよー!」という、「私がこれを」と、「変更したファイルそのもの」を保存をすることができるそうです。

ただ、原則コミットは、ローカルリポジトリにファイルを保存する。
という意味だと認識していればOK!(田名辺さん)
ということでした!
================================

(8月3日 12:10追記)
さっそく、記事を見た優しい田名辺さんより
「コミット」について連絡が来ました・・・。

以下、転載です

「コミット」ですが、コミット=「ファイルを保存する」じゃないんです。
例えば、テキストを編集して保存するのは、単にエディタで保存しただけですが、その保存した「履歴を保存」するのが「コミット」と考えてください。履歴の保存なので、例えばファイルを削除したり移動したりした場合も「コミット」して履歴を保存します。

GitHubのサイト上でも直接ファイルを編集、保存できますが、それはGitHubのサーバー上で「ファイルを保存」したあとに、自動で「履歴を保存(コミット)」が走る、という解釈で良いかと思います。ちなみに、GitHub上でのこの操作は殆どやらないし、あまりおすすめしません。ローカルでコミット->プッシュの流れが基本です。

プッシュは、ローカルに蓄積されているコミットの全てを、リモート(GitHub.com)にアップすることをいいます。
プルは、逆にリモートのコミットの蓄積を、ローカルにダウンロードすることをいいます。

=================================
なんとーーー。。。
コミット全然理解できていなかった泣
ありがとうございますT^T

そのまま、追記させていただきます泣泣

プッシュ

一方で、リモートリポジトリにローカルリポジトリの修正内容を反映させることを、プッシュというそうです。

押して、リモート上にあげるぜ!!!っていうイメージからこの言葉なのでしょうかね???

画像4

なので、ローカルで更新したものをプッシュしながら、共同開発を行っていくというイメージですね。

私が、ここでごちゃっとしちゃったのが、googleドキュメントのようなWEBサービス上で、共同編集が可能なのかな??(ペアプログラミングのLiveShareのように…)って思ってしまった点で、プッシュってなんで必要で、且つコンフリクト(更新が同時にされた場合、先に更新された人の方だけが更新される、競合という現象)って起こるんだっけ?と思ってしまったのですが、、、、

GitHubではLive Shareのように同時編集だったり、、、見せ合ったり。というようなことはできず、ローカルもしくは、リモートで書く→コミットする→プッシュして共有リポジトリに保存!!ローカルもしくはリモートで書く→コミットする→プッシュして共有リポジトリに保存!という流れの様です!!

そこで、2人が同じタイミングで別な物を書いていて、
同時にプッシュすると、コンフリクトが起きて、
「うぉーーーーーーーい。こっちの反映されてないやないか」って
なるわけですね。

ふぅ。すっきりした。
非エンジニアで、教えてもらったことを、自分なりに理解しながら書いたのですが、認識が間違っていたら、、、ご指摘いただけるととても嬉しいです(´;ω;`)

名称未設定のアートワーク



プルとか、プルリクエストとかクローンとかそのほかにもいろいろあったのですが、、、今日はこの辺で・・・。

がんばれよーーーー!と、少しでも思っていただけましたら、
ぜひ、💛ボタンを押してやってください―T^T
見ていただきありがとうございます!!

おまけ

田名辺技術顧問から、、、。
追加で、GitHub勉強会を始めた経緯をSlackで教えていただきました!

コープさっぽろはDXを本気でやるのであれば、デジタル推進本部のメンバーは、ノンプログラマーで
もGit/GitHub使ってるよ、位な勢いで行ったらいいんじゃね?という個人的な思いがあります。
実際、講習でやった内容くらいであれば、十分できると思いますし、色々工夫のしようがあるかな?と
。というわけで、そもそもこの講習会をはじめたきっかけはソコ、ということも付け加えておきます!

なるほどーーーーー!!!!GitHubをノンプログラマーでも使う!!!!
ま、まずはテキストエディタとして使ってみる!というので、やってみようかな・・・・。

この記事が参加している募集