Hello World はプログラミングの世界では伝統的なプロジェクトです。新しいものを学ぶときに始める簡単な課題です。GitHub の世界に飛び込みましょう!
GitHub は(プログラミングの)プロジェクトを仲間と一緒に進めるためのプラットフォームです。ハードディスク内のデータを失くしてしまうことや、複数のコンピュータ間でデータを管理することを心配しなくても大丈夫です。どこからでも同期できます!そして、何より、GitHub は非同期で仲間とソフトウェアを開発できます。
このガイドでは、 レポジトリ、ブランチ、コミット、イシュー、プルリクエスト などの GitHub の最も重要な部分をせつめいしていきます。
この知識をつかえば、いろいろなことができます。この、hello-world
レポジトリはリソースやアイデアなどをためておく場所(未来レポジトリって読んだりします、jlord/hello-world がいい例です)にもなります。他の人と議論する場所にもなります(holman/feedback)。
このチュートリアルでは、タスクを GitHub.com でこなしていきます。なので、コマンドラインの使い方を知らなくても、Git(GitHub のベースになっている変更を管理するツール)のインストールをしていなくても平気です。コーディングすら知らなくても大丈夫です。ただ、GitHub のアカウントは必要なので、持っていない場合は、作ってください!
このガイドを別のウィンドウやタブで開いておけば、見ながら作業を進められます。
レポジトリ は GitHub の最小単位です。通常は1プロジェクトを表します。レポジトリにはフォルダやファイル、画像などプロジェクトに必要なものを何でも入れておくことができます。GitHub では README ファイル(プロジェクトの説明が書いてあるファイル)をレポジトリに入れておくことを推奨しているため、新しいレポジトリを作ると同時に簡単に README を作れるようにしています。 他にもライセンスのファイルを作るなどの機能もありますが、今回は割愛します。
- 画面右上の自分のユーザ名の隣にある + アイコンをクリックします。
- 名前を
hello-world
にしましょう。 - 短い説明文を書きましょう。
- "Initialize this repository with a README"(レポジトリを初期化する際に README も作る)にチェックを入れましょう。
イシュー (Issue) はレポジトリで何かしら、注目しないといけないことに関するメモのようなものです。バグかもしれませんし、新しい機能のリクエスト、質問かもしれません。GitHub ではイシューをラベル付けしたり、人に割り当てたりして、プロジェクトを管理しやすくなるようにしています。
レポジトリはできました。が、ちょっとさびしい感じです。README にもっと情報を加えて、他の人が見て、何をしているのか分かるようにしましょう。早速、イシューを開きましょう!
- 画面右にある Issues(ビックリマーク)タブをクリックします。
- New Issues をクリックします。
- 題名と説明を書きましょう。
終わったら、"Submit new issue" をクリックしましょう。これでイシューにいつでも(イシューを閉じた後でも)アクセスできる URL が作られました。
次に README を編集して、イシューを閉じるところまでやります。
ブランチを作るとは、レポジトリの別々の部分を同時に編集する方法です。
レポジトリを作ると、標準で master
というブランチが作られます。このまま、このブランチで作業を続けるのも大丈夫です。しかし、別の機能やアイデアに取りかかる際に、master
から新しいブランチを作ることができ、master
をそのままにしておくことができます。
ブランチを作ると、元のブランチのその時点でのコピーが作られます(写真のスナップショットみたいな感じです)。新しいブランチで作業中に、元のブランチが変更されても大丈夫です。いつでも元のブランチから新しいブランチに変更を持ってくることができます。
ファイル名にバージョンを付けて、管理したことありませんか("story.txt", "story-v2.txt", "story-v20141020.txt" など)?ブランチを使うと、同じことがより簡単に管理しながらできます。
GitHub では、開発者もライターもデザイナも、ブランチを使って、バグの直しや新機能用の作業を master(本番用)のブランチとは別に作業しています。作業が完了したら、master にそのブランチをマージしています。
- 自分の
hello-world
レポジトリに行きます。 - ファイルリストの上にある branch: master をクリックします。
- テキストボックスに新しいブランチの名前
readme-edits
を打ち込みます。 - Create branch をクリックするか、"Enter" キーを押します。
これで、master
と readme-edits
と2つのブランチが作られます。今はまだ同じですが、すぐに変えます。次に新しいブランチに変更を加えていきましょう。
GitHub では保存済みの変更はコミットと呼ばれます。コミットは、たくさん集まると、自分のプロジェクトの歴史のようになり、なかなか素晴らしいです。
コミットにはそれぞれメッセージが付いています。メッセージには変更の内容などが書いてあります。このメッセージのおかげで、自分や他の人がコミットのメッセージを読むことにより、何を変更したのか、なぜ変更したのかが分かります。
まだ readme-edits ブランチのコード画面にいいるはずです。では、変更を加えていきましょう!
- README ファイルをクリックします。
- Edit を押します。
- エディタ内で、何か文章を書きましょう。自分についてでも少し書きましょう。
- 何を変更したのかを説明するコミットメッセージを書きましょう。
Commit changes をクリックしましょう。これで README ファイルへの変更が readme-edits ブランチ上で行われ、master とは異なるコミットが入り、内容も違っています(当たり前ですが)。
プルリクエストは GitHub 上で一緒に作業をするさいの要となるものです。 プルリクエスト を作ると、自分の変更を提案しており、自分の変更を採用してもらう(マージする、と言います)ようにリクエストを出していることを意味します。GitHub のプルリクエストでは2つのブランチの違いを比較できます。足したものや引いたものは、それぞれ緑色と赤色で表示され、diff と呼ばれます。
変更を加えたら、プルリクエストを作れます。プルリクエストは作業が完了する前でも作ることができ、みんなで変更をレビューしたり、議論したりできます。完了する前にレビューしてもらうことにより、フィードバックをもらったり、詰まったときに助けを求めることができます。
プルリクエストのメッセージ内で @ を使って、他の仲間(同じオフィス内でも世界の反対側にいても)にフィードバックしてもらうように頼めます。
下の例のように自分のレポジトリへのプルリクエストを作ることもできます。より大きなプロジェクトに参加する前に自分で勉強しておくのに最適です。
画面右にあるプルリクエストアイコン(線2本で n の文字みたいになっているもの)をクリックして下さい。プルリクエストページ内の緑色の New pull request ボタンを押しましょう。
元のブランチ(master)と比較するには作成したブランチ(readme-edits)を選びます。
Compare ページで変更が合っているか確認しましょう。
変更が合っているのを確認したら、Create Pull Request ボタンを押しましょう。
プルリクエストにタイトルを付けて、イシューに直接関係あるので、"fixes #イシュー番号" をタイトルに入れましょう。変更に関する簡単な説明も本文に入れましょう。
メッセージの作成が終わったら、Send Pull Request のボタンを押しましょう!
Tip: emoji や 画像をドラッグ&ドロップ することもできます。
さあ、変更を一緒にしちゃいましょう。readme-edits ブランチから master ブランチへのマージです。
- 緑色のボタンを押して、master にマージします。
- Confirm merge ボタンを押します。
- 変更が合わさって、readm-edits ブランチが不要になったので、紫色の箱の中にある Delete branch ボタンでブランチを削除しちゃいましょう。
自分で開いたイシューを見てみましょう、もう閉じられています(closed)!先ほどのプルリクエストのタイトルに "fixes #1" と打ちこんだので、マージした際に GitHub が勝手に閉じてくれました!
GitHub でのプルリクエストの作り方を覚えましたね! 🎉 ⚡
このチュートリアルで以下のことを学びました(さりげなく自慢するときにでも使ってください)。
- レポジトリを作る
- イシューを作る
- プルリクエストを作る
- プルリクエストをマージする Contribution square をみんなに自慢しちゃいましょう!
プルリクエストの真価を知りたければ、是非 GitHub Flow Guide を読んでみてください。あと、GitHub Explore に行って、オープンソースに参加してみてください
Tip: 更に学びたい方は GitHub の他のガイドや YouTube チャンネルを御覧ください。