語り得ぬことについては、沈黙するほかない

世界は事実の総体であり、ものの総体ではない

とりあえずGitHubを使ってみる。

はじめに

プログラミングがお強い方々が使っているイメージのあるGitHub

これまでプログラミングを何年かやってきたけれど、GitHubを使ったこともなかったし、そもそもGitHubが何なのかすら知らない。

いい機会なので、プログラミング強者への第一歩として、GitHubの使い方についてチュートリアルを体験してお勉強しました。

 

GitHub is 何

qiita.com

こちらのなんとも魅力的なタイトルの記事によると、

 Git はバージョン管理ツールです、 GitHub は Git のホスティングサービスです。

ということらしい。全然わからないのでとりあえずやってみよう。

 

御託はいいからやってみる

あれこれ言うよりもチュートリアルを通して、GitHubの雰囲気をつかもう。

まずはGitHubhttps://github.com/)のページに行きます。

 

f:id:hoshimure-47:20170602033841p:plain

トップページから英語で心折れそうになります。

適当なUsernameとEmailアドレス、Passwordを設定してSign upします。

有料プランもあるようですが、とりあえずFreeプランで登録します。

 

ホイホイと進んでいくとチュートリアルhttps://guides.github.com/activities/hello-world/)らしきページにたどり着きました。

f:id:hoshimure-47:20170603140814p:plain

とりあえずコードなしで使い方を教えてくれるみたいです。

 

 

f:id:hoshimure-47:20170602034344p:plain

この”Hello Worldチュートリアルでは、

  • リポジトリ(repository)
  • ブランチ(branch)
  • コミット(commit)
  • プルリクエスト(pull request)

が学べるそうです。はー、1つもわからない。

 

ステップ1 リポジトリ作ろう

f:id:hoshimure-47:20170602131309p:plain

リポジトリとは、1つのプロジェクトのフォルダ、ファイル、画像、動画、スプレッドシート、データセットなどなんでも放り込んでおける場所のことのようです。GitHubでは、プロジェクトの説明やインストール方法などを記したファイルを”README.md”という名前で保存してリポジトリ内に配置しておけば勝手に読み込んでくれて表示してくれます。

 

リポジトリの作り方はこれだけです。

  1. 画面右上にある”+”をクリックして、「New repository」を選択。
  2. 「Repository name」に作りたいリポジトリの名前(今回はhello-world)を入力。
  3. 「Description」の入力欄には任意でリポジトリの簡単な説明を入力します。
  4. 「Initialize this repository with a README」にチェックして「Create repository」をクリックする

4のチェックがないと、訳わからない設定に飛ぶのでとりあえず初心者が新規に作るときはチェックつけとけばいいっぽいです。

 

f:id:hoshimure-47:20170602131323p:plain

これが1つのプロジェクトの管理画面になるんですね。なるほど、少し見えてきました。

 

ステップ2 ブランチ作ろう

f:id:hoshimure-47:20170602131336p:plain

ブランチは、違うバージョンのリポジトリを一時的に管理する方法とのことです。

GitHubでは、複数の作業者が同じリポジトリを編集することを想定しているので、一貫性を保つための対応がしっかりしています。OSの排他制御やデータベースのトランザクション処理を勉強したことがある方は理解するのが速いかもしれません。

 

ブランチは少し分かりづらい概念なので、GitHubさんから画像を引用させていただきます。

 

f:id:hoshimure-47:20170602131328p:plain

 

簡単に言うと、”master”と呼ばれる最強のブランチ、言わば木の幹みたいなのがあって、何かリポジトリに変更があったら枝ができます。いろいろ議論した結果、この変更で問題ないとなったら、”master”を更新しよう。みたいな感じです。みんながみんな”master”を直接更新してたらヤバいよね、って話です。ちなみに、後の手順で出てきますが、作ったブランチを”master”に結合させることをマージと呼ぶそうです。

 

ブランチの作り方も簡単です。

  1. 作成した「hello-world」リポジトリに移動
  2. 「branch:masterer」と書かれているドロップダウンを開く
  3. 入力窓に作りたいブランチの名前(今回はREADMEファイルの偏光を行うので「readme-edits」)を入力
  4. 「Create branch:readme-edits」をクリック

 

f:id:hoshimure-47:20170602142226p:plain
これでブランチを作ってくれました。「1 branch」だったのが「2 branches」になってくれています。何人かで作業しているときはもちろん、一人で作業するときも、何か変更があるときには必ずブランチを作ることを習慣にした方がいいですね。
 

ステップ3 コミットしよう

f:id:hoshimure-47:20170602131346p:plain

大したことしてないのに「Bravo!」と褒めてくれます。やはりGitHubは神。

さて、僕たちは今「readme-edits」という名前のブランチを作ったので、その中で編集をしてみましょう。変更を保存すること、または変更をリポジトリに登録することをGitHubではコミットと呼ぶそうです。

 

コミット(このチュートリアルではREADME.mdの編集)の方法については、

  1. リポジトリ画面で「README.md」ファイルをクリック
  2. 右上に編集のためのアイコン(えんぴつマーク)があるのでクリック
  3. 埋め込みエディタが出てくるので、リポジトリの内容だとかインストール方法だとかを好きなように書く
  4. 最後に、どんな編集を行ったかが分かるようにコミットメッセージを簡単に書く
  5. 「Commit changes」ボタンをクリック

でコミットできます。

 

埋め込みエディタにREADMEの内容を書いて

f:id:hoshimure-47:20170602131350p:plain

 

ページ下部にある「Commit changes」ボタンをクリックすると変更が反映されます。

f:id:hoshimure-47:20170602131356p:plain

よく見てみると、エディタ内で「#」をつけると題字になっています。

またエディタ内で1回改行をしただけでは、結果には反映されず一行で表示されてしまうみたいです。TeXと同じですね。

README.mdの書き方についても勉強する必要がありそうです。

 

ステップ4 プルリクエスト作ろう

f:id:hoshimure-47:20170602131401p:plain

プルリクエスとは、編集のリクエスト機能のようなものでコードレビューの際などに用いられるそうです。編集する人に対して、レビューする人が「ここちょっと修正してくれない?」みたいな内容を書く場所といった感じです。

このチュートリアルでは全部1人で作業しているので、その効用を体感することは難しいのですが、チームで開発する際にはとても役立つ機能になるかと思いますので、とりあえずそんなのもあるんだと覚えておくといいかもしれないです。

 

一応、チュートリアルでのプルリクエストの流れはこんな感じ(1人でやっても何しているか分かりづらい気がします)。

  1. リポジトリ画面から「Pull request」のタブを開いて、緑の「New pull request」ボタンをクリック
  2. 比較対象となるブランチ(今回は”readme-edits”)を選択
  3. もとのブランチに追加した部分が緑色、削除した部分が赤色でハイライトされます
  4. 変更が問題ないようなら緑の「Create pull request」ボタンをクリック
  5. プルリクエストのタイトルと簡単に説明を入力し、再び緑の「Create pull request」ボタンをクリック

 

リポジトリ画面から「Pull request」のタブを開いて、緑の「New pull request」ボタンをクリックして

f:id:hoshimure-47:20170603145323p:plain

”readme-edits”を選択すると

f:id:hoshimure-47:20170603145329p:plain

”master”ブランチと”readme-edit”ブランチで変更した部分などを教えてくれます。

f:id:hoshimure-47:20170603145334p:plain

問題なければ「Create pull request」ボタンをクリック。

 

適当にタイトルとコメントを入力しておいて、再び緑の「Create pull request」ボタンをクリック

f:id:hoshimure-47:20170603145340p:plain

 

あとは”readme-edits”ブランチを"master"ブランチにマージするだけです。

 

 ステップ5 マージしよう

f:id:hoshimure-47:20170602131428p:plain

 

  マージは、ブランチのところで説明したように、ブランチ同士を統合させることです。”readme-edits”ブランチを"master"ブランチにマージしてみよう。

 

「Merge pull request」ボタンをクリック。はい終わり。

f:id:hoshimure-47:20170603150935p:plain

 

チュートリアル終了

f:id:hoshimure-47:20170602131439p:plain

確認です。このチュートリアルでは

  • リポジトリ(repository)
  • ブランチ(branch)
  • コミット(commit)
  • プルリクエスト(pull request)

 というGitHubにおける4つの概念を学習しました。GitHubでどのようにしてプロジェクトのバージョン管理が行われているかといった流れは理解できたような気がします。 今は実際にコードを公開したりするのが楽しみです。

  

最後に

この記事を最後まで読んでくださったあなたも一緒にGitHubを始めてみませんか?

github.com

 

お読みいただき、ありがとうございました。 

はてなブログをはじめました。

プログラミング強い系の人になりたくなったので、はてなブログをはじめました。

プログラミングだけじゃなくて、ほかのこともおそらく書くと思います。

 

最初なので自己紹介しておきます。

さわったことのある言語はだいたいこんな感じです。

  • C,C++(授業でやった)
  • HTML,CSS(ゴミカスみたいなWebページなら作れる)
  • JavaAndroidアプリ開発ちょっとだけやりました)
  • Python(はじめたて)

 

ブログを書いてプログラミングを日々の習慣にできればいいな、といったゆるい感じでコツコツと。