「エンジニアになるためには、とにかくプログラミングの学習だけしていればOK!」・・と思ってしまうかもしれませんが、実はそうではありません(*>_<*)
AIエンジニアを目指すのであれば、統計学など数学の知識なども必要になってきますし、それ以前に正しくスピーディーにコードを書くためには、タッチタイピングが出来ていれば生産性もぐっと変わってきますよね。
プログラミング初学者の方でも、早い段階で知っておきたい知識の1つに「GitHub」があります。GitHubとは、簡単に言えば「自分が書いたプログラミングコードを公開できるツールのこと」です。
今回は、エンジニアの強い味方であり必須スキルであるGitHubの使い方を、一緒に学習していきましょう♪
GitHubって聞いたこともないけど・・という方でも大丈夫ですよ☆GitHubとはそもそも何なのかというところからご紹介しますね♪
Gitとは?
GitHubとは何なのかを解説する前に、Gitについて知っておきましょう。名前はとても良く似ていますが、GitとGitHubは別物です。
ちなみにこのGitはシェルコマンドで操作しますので「シェルコマンドって何・・?」という方は、シェルコマンドの学習もあわせてやっておきましょう!paizaラーニングでも学習できますよ♪
GitHubとは?
GitHubとは、ソフトウェアを開発するために必要なコードを、管理することができるサービスのことです。Gitをオンラインで管理できるので、開発者には必須のスキルとも言えます。
GitHubは、コードを確認したりすることはもちろん、簡単なバグを管理する機能もあります。会社でGitHubを採用しているところも多いので、社内でのみ公開される場合はバグに合わせてセキュリティー面のチェックなどもおこなわれます。
GitHubの特徴
GitHubの一番の特徴は、コードを通して他のエンジニアたちとコミュニケーションができるということです。自分の書いたコードを公開することで、いろいろアドバイスなども得られるというのはとてもスキルアップに繋がりますよね。
またGitが「分散型」であることも特徴の1つです。かつては、リポジトリが1箇所のみの「集中型」であるCVSやSVNなどが主流でしたが、今ではGitがよく使われています。
「集中型」はリポジトリが1ヶ所ですが、「分散型」はサーバ側にある「リモートリポジトリ」と自分(クライアント)側にある「ローカルリポジトリ」に分かれています。普段の作業は自分のローカルリポジトリでおこなって、ある程度進むごとにリモートリポジトリへアップデートしていくスタイルです。
最初にGitやGitHubでよく使う用語を知っておこう
さて、前の章ではリポジトリなどと言った単語が出てきましたね。少しだけ解説しましたが、ローカルリポジトリや、リモートリポジトリなども出てきました。
リポジトリとは
ローカルリポジトリとは
リモートリポジトリとは
プッシュ(push)とは
プル(pull)とは
コミット(commit)とは
インデックス(index)とは
アド(add)とは
ブランチ(brunch)とは
マージ(merge)とは
プルリクエストとは
フォーク(fork)とは
クローンとは
コンフリクト(conflict)とは
たくさん用語が出てきましたね!ひとまず、リポジトリには2種類あることと、push、pull、ブランチ、プルリクエストあたりはおさえておくと良いでしょう☆
GitHubの使い方
それでは、早速GitHubの使い方について見ていきましょう!学習した用語が出てきますので、わからなくなったら前の章を参照しながら読み進めてくださいね♪
GitHubのアカウントを新規作成しよう
ではGitHubの公式サイトからアカウントを新規作成しましょう。
任意のユーザー名、メールアドレス、パスワードを入力します。この時パスワードが容易に推測できるものだとエラーになってしまいます。
入力が終わると以下のような画面になると思いますが、
下にスクロールすると「join a free plan」のボタンがありますので、それをクリックします。
次に何やらアンケートのような画面が出ますが、下に小さくある「skip」を押して飛ばしましょう。
次にまたアイコンが沢山並んだ画面になりますが、それも下にそのままスクロールすると、「Complete setup」のボタンがあります。
途中で何度か、イラストを矢印で動かして「私はロボットではありません」という操作が必要になります。
次に、入力したメールアドレスの受信トレイを見てみましょう。GitHubから「メールアドレスを確認してください」と英語でメッセージが届いていると思います。
そのメール内の確認するボタンを押せば完了です!
1:【初回のみ】リモートリポジトリを作成する
メール内のボタンを押すと以下の画面に飛ぶかと思います。この画面が、一番最初に作るリモートリポジトリの作成画面です。このリモートリポジトリを作るのは初回のみとなります。
以下の手順で入力していきましょう。
Createを押すと、次の画面になります。
中央付近にあるアドレスは、ローカルリポジトリをリモートリポジトリにプッシュするときに必要になりますので、しっかりメモしておきましょう☆
2:ローカルリポジトリを作成する
では、まずMacの方はターミナルを開きましょう。ターミナルがどこかわからない方は、Finderで「ターミナル」と検索すると「ターミナル.app」が出てきます(^^)
ではターミナルまたはiTerm2を開いて、以下を入力しましょう。$マークはもともと先頭についていますので、入力しなくて大丈夫ですよ☆
$ mkdir newgit $ cd newgit $ mkdir pushtest $ cd pushtest $ git init
1行ごとにEnterで改行しながら入力しましょう。「newgit」と「pushtest」の部分は適当な名前でOKです。
最後の$ git initを入力後にEnterを押して、「Initialized empty Git repository in〜」と表示されればOKです!!これでローカルリポジトリが作成できました(*´∀`*)
3:ファイルをローカルリポジトリに登録(コミット)する
では、新規ファイルを作成して、ローカルリポジトリに登録(commit)してみましょう!ターミナルまたはiTerm2に以下を入力してください。
$ vi pushtest.txt
この「pushtest」の部分は適当な名前でOKです。これを入力してエンターキーを押すと、何やら左端に延々と「〜」が出てくる状態になると思います。
これは「vim」というものが起動しているのです。「vim」とは、シェルで利用できるテキストエディタのことです。
ターミナルの上の部分を見てみましょう。「1.vim」となっていますね。
これが起動すると、pushtest.txtの中に内容を入力することができます。そのまま打ち込んでも何も動かないと思いますので、「a」を押しましょう。
これで編集モードに切り替えられるので、入力できるようになります。ひとまずメッセージは何でも大丈夫ですので、「new test」と入力しておきましょう。
ちなみにメッセージは日本語はNGですので、アルファベットのメッセージにしておきましょう。入力後はキーボードの一番左上にある「esc」キーを押すと、コマンドモードに戻ります。
そのまま「:wq」を入力して(「:wq」は画面の一番下の行に表示されます)Enterを押すと通常のターミナルの画面になります。
次に以下を入力しましょう。
$ git add pushtest.txt $ git commit -m "pushcheck"
何やら英語で長い文章が出てきて「You can suppress this message by setting them explicitly:」と表示されればOKです☆これでファイルをローカルリポジトリにコミットすることができました!
4:ローカルリポジトリをプッシュ(送信)して、リモートリポジトリへ反映させる
では、先ほど作成したファイルをいよいよプッシュして、リモートリポジトリへ反映させましょう。
$ git remote add origin https://github.com(あなたのユーザーID)/(リポジトリネーム).git
このhttps://〜以降の部分は、GitHubに登録したときにメモしておいた部分です。次に以下を入力します。
$ git push origin master
すると「Username for〜」とあなたのユーザーネームを聞かれますので、入力してEnterを押します。次に「Password for〜」とパスワードを聞かれますので、GitHubアカウントを作成したときに決めたパスワードを入力しましょう。
また何やら長い英文で「* [new branch] master -> master」と表示されれば成功です!!
ではGitHubの自分のリポジトリのページを開いてみましょう。
作成した「pushtest.txt」がありますね♪これでローカルリポジトリからリモートリポジトリへのプッシュが完了しました☆
今回はGitHubの基本的な使い方を学習しました。シェルコマンドの学習が必要だったり、ターミナルを使用したり、いきなりvimが出てきたりとなかなか大変だったかもしれませんが、早いうちからGitHubに慣れておくのがおすすめです!
またシェルコマンドの学習はpaizaラーニングでもさくっと短い時間で学べますので、まだの方はぜひこの機会に終わらせてしまいましょう☆ターミナルも、iTerm2のほうが便利機能がたくさんありますので、こちらもはやめに使い慣れておくと良いですね♪
GitHubが使えれば、エンジニアになれたときにすぐに現場で活躍できますし、GitHubで自分が書いたコードを公開していれば、他の先輩エンジニアの方からアドバイスを貰えたりするかもしれません。また、就活の場合でもきっと役に立つと思います。
ぜひGitHubを活用してエンジニアへの道を切り開いていきましょう!