404 SPAM Not Found

小飼弾の論弾 #182「意外に簡単、GitHubでの共同作業」

2020/12/12 07:00 投稿

  • タグ:
  • 登録タグはありません
  • タグ:
  • 登録タグはありません

 「小飼弾の論弾」で進行を務める、編集者の山路達也です。
 無料公開部分の生配信およびアーカイブ公開はニコ生・ニコ動のほか、YouTube Liveでも行っておりますので、よろしければこちらもぜひチャンネル登録をお願いいたします!

 今回は、2020年08月18日(火)配信その3をお届けします。

 次回は、2020年12月22日(火)20:00の配信です。

 お楽しみに!

2020/08/18配信のハイライト(その3)

  • GitHub講義の続き
  • GitHubの「1番素敵なところ」と「ググればなんとかなる」難易度
  • 今のブラウザのデカさと複雑さ

GitHub講義の続き

山路:ほうほう。これ今Issueのところでやってるんですよね。

小飼:そうです。Issueのところでやってます。

山路:commitか何かボタンを押すと。

小飼:commitじゃなくて、これはあくまでもIssueなので、だから文句はここでつけてくれっていうことですよね。まぁ説明書きにしておきますか。「とりあえず今までの」。

山路:これが、ああそうだ。Submit new Issueが押されたら、私らのところにも反映されてくるという。

三野:ああここに入るんだ。なるほど。

山路:まぁ掲示板的なもんですよね。

三野:自分もnew issueで押して書けば、掲示板みたいになって、皆に伝えられる。

山路:そうです。

三野:なるほど。

山路:管理的な立場の人が、それを解決したけりゃ、そのissueは。

小飼:管理人はこの場合、僕なので。「実際の活動はこれから」と書いた上で、これをポチッという風に押すと、はい。

山路:こんな感じで。

小飼:実際ソフトウェアを。

三野:どこを押せばいいんですか? ないぞ。

山路:ブラウザの再読み込みボタンですがな。これは別にGitHubの機能じゃないけど、普通にブラウザの。

小飼:そうするとIssueが1個あるという風になるので。

三野:うん、今のところを押してみると、ああ。

小飼:皆さんも適当に書いて下さい。これでClose Issueというのがあって、要は問題が解決したら、ここを押すわけですね。このCloseを押せるのは、Issueを上げた人か。

山路:管理者。

小飼:管理者かどっちかですね、よろしくお願いします。そうそう。

三野:ほう。

「command+Rで再読み込み出来るよ」(コメント)

山路:アドレスバーの横にあるこれと同じことです。それをショートカットでやってる。

三野:なるほど、ありがとうございます。もうIT音痴で困る。

小飼:そうすると全体のところにも、出てくるので問題点はこうやって上げていけっていうやつですね。これはまあ僕のわりと小規模なリポジトリの場合ですけれども、たとえばこれででかいやつとか、そうですね。凄いメジャーなRubyです。Rubyとかっていうのを見ると、たとえばスターを押している人とかっていうのも、1万7千件くらいあるわけですよね。
 なんですけども、Pull requestとかもいっぱい上がっているわけですよね、こういう風に。

山路:このPull requestとかこの辺のなんかGit絡みで凄くけっこうややこしいというか、なんかとっつきにくい。

小飼:ようはリポジトリをまるごと持ってこれるんですね。それをフォークと言います。実際のフォークを見てみましょうかね。じゃあ今度山路さんの方に挿して貰いますかね。
 適当に、ちょっとさっきのページ、それですね。それというのか、じゃあええと1つ戻って、更に戻ってというか、トップ画面に行って。そこですね。これがたぶんGitの最大の特徴だと思うんですけども、Gitで開発しよう時っていうのは。
 じゃあ画面映してというのか、ここにForkというボタンがありますので、これをポチッと押してみます。これですね。

三野:私も押していいですか?

小飼:押していいですよ。はい。そうするとForkしてますという。

三野:Fork、Forking。

小飼:そうすると、今度は山路さんバージョンの同じリポジトリが出来るんですよね。

山路:うんうん。

小飼:だからここ見てみると、Github.comの後が、dankogaiでなくて山路さんのIDになってますよね。だからこれ全く同じコピーなんですよ。リポジトリまるごとなんですよ。
 じゃあ、ここでじゃあちょっとReadmeを書き換えてみましょう。
 またこれ手で書き換えられますからね。たとえばここで、ポンと……ああそうかキーの配置が違うのか。

山路:ああごめんなさい。私、親指シフトにして。

小飼:ああ英数にして。

山路:これはちょっと打てないですよね。

小飼:ええと、じゃあ英語でやっちゃいます。

山路:しかも日本語キーボードだから、弾さん慣れてないですよね。

小飼:まあ、あくまでも適当に書きますよ、ここは。適当に書きます。Commit Changesというのを押すと、これはあくまでも今、山路さんが山路さんのリポジトリを書き換えてるんですね。
 僕の方はまだぜんぜん変わってないです。ここで書き換えたんだけども、じゃあ弾さん、僕が書き換えたのを反映させて下さい、という時に、ここでPull requestという概念が出てくるんです。
 じゃあ、またてっぺんまで行って、ここに今度Pull requestというのが出てきますよね。これを押してみます。これ本当に、本当にどうしようもない、1行しか変わっていないPull Requestですけど、でもこれは立派なPull Requestなわけですよね。
 こうすると、まあこういうのが出て来るわけですよね。で、Reviewしろ何だろというのが出てくるんですけども、特にここでは特にやんなくて、そのままPull Requestというのを送ると、これで解説が出てきて。

山路:うんうん。なんかどうにかこうにかこういう事を書いたよみたいな。

小飼:ああそうか、Deleteキーの位置も違うんだ。「for request.」これでPull Requestというのを押すと、マージ出来るかどうかというのが出て来るわけですよね。じつはですね、Gitが人気を博した最大の理由というのは、まずコピーをまるごと作るとさっきも見た通り、その後に、コピーをまるごとマージ出来るか。
 これ、こっちじゃなくて、ええとどれだ? これだね、こっちか? これか、はい。そうするとPull Requestというのが、ああ違う、今度はあれだ、また違う、僕の方に下さいということで、はい。ちょっと暫くお待ちを。

GitHubの「1番素敵なところ」と「ググればなんとかなる」難易度

小飼:ちゃんとミラーになってますね。じゃあこれズームして、すみません、お手数をおかけします。はい。ここらへんですね、ズームして欲しいのは。ここにPull Requestというのに、1つ来てますよね。Readme、Updateしろというのが来てて。GitHubが1番素敵なところというのはですね、このPull Requestを自動でマージ出来るんですよ。僕がやらなければいけないのは、ここをクリックするだけ。
 ここをクリックするとこういう風に、まあCommit messageとか、まあCommit messageは、まあ僕が更に続きも出来るんですけど、特に何も考えずに、ポチッとなと。まぁこれでもうおしまいなわけですよ。

山路:なるほどね、私の方ではPull RequestはClosedって。

小飼:そういうことです。

三野:ああ。

小飼:そう、だからここをこういう風に書き換えて欲しいというのは、Issueでこうして欲しいと上げるのもいいんですけども、実際にこう書き換えました、どうでしょう? というのも出来るわけですよね。

山路:なるほどなるほど。これさっきやったのは、弾さんのやつのリポジトリをフォークしないで、弾さんのそのリポジトリに直接アクセスして、私の方も書いたり出来ましたよね。

小飼:そうそう。Issueとかっていうのは、まああくまでも、そうなわけです。何といえばいいのかな、要は掲示板みたいなもんですよね。掲示板みたいというか、掲示板そのものですよね。なんですけど、フォークしてPull Requestを送るというのは、自分でもリポジトリを持ちつつ、そこで作業して変更した分というのを送りつけることによって。

山路:これ弾さん、ここで私のとこ弾さんの本家のそのリポジトリも見えますけども、そこのコードを私がここから直接書き換えることは出来ない。それはやっぱ書き換えようと思ったら。

小飼:自分がフォークした分というのは、フォークした時点で自分のものですから自由に出来る。けどもそれを本家に差し戻そうと思ったら、リクエストを出さないといけない。
 でもリクエストで、だからさっきも見たように、その書き換えを反映させるのも、ボタン1発で出来るわけです。だから本来のGitというのは、そこまで簡単ではないんで。

山路:ですよね。なんか凄いブランチをどうのこうのみたいなことがあったりとか。

小飼:そうなんですよ。別のブランチを切ってとかでなくて、GitHubを使うことによって、デフォルトであるブランチは大抵マスターという名前がついてるんですけども、マスター、簡単なものであればマスター直でもいい。まあちょっと行儀悪いんですけどね。
 たとえばRubyみたいに、重要なものに、改変を加えたいといったら、その書き換える部分の名前をつけたブランチも切った上で、それでPull Request出したりするんですけど、それはさておき。マージの作業がずっと簡単になったと。じゃあこれ戻しますね。はい。

三野:ふーん。じゃあ誤字脱字とか、これは直して絶対大丈夫と思ったものを、それも勝手に直すことは、そういう機能はないんですか?

小飼:だから誤字脱字があったので、こう直しました、というPull Requestを投げればいい。

三野:やっぱり、うん。なるほど。

小飼:でも1文字や2文字であれば、Issueに書くのが簡単でしょうね。だからどっちか好きな方を選べばいい。

 

ここから先は有料になります

ニコニコポイントで購入する

チャンネルに入会して購読する

  • この記事は過去記事の為、今入会しても読めません。ニコニコポイントでご購入下さい。

コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事

継続入会すると1ヶ月分が無料です。 条件を読む

404ch Not Found

404ch Not Found

月額
¥550  (税込)
このチャンネルの詳細