【Web講座】Githubの利用
Github は便利だ.
ソースコードのバージョン管理,他者との共有などはもちろん,最近だと,選挙のマニフェストやスライドの共有,法律,料理のレシピ,芸術作品の管理など色々なデジタル情報の管理に使われる.
(個人情報,パスワードなどはこれで管理すべきではない.)
Git / Githubの概要
Git は,個人の持つPC,ローカルなPCで動きます.
Github は,(現在Microsoft傘下)インターネット上のサーバーにあるサービスです.オンライン(クラウド)上での情報管理とその共有を担います.
GitとGithubは図のような関係性にあります.
詳しくは以下の利用方法で説明していきます.
Git/Githubの利用方法
Github のアカウントとレポジトリ作成
まずは,https://github.com/ でアカウントを作成してみよう.
アカウントを作成したら,
Repositories から,New で新しいレポジトリを作成できる.
(レポジトリという言葉など,Git/Githubでは独自の用語が出てくる.)
レポジトリ作成に必要な情報は,
Repository name* : レポジトリ名(好きな名前をつける)
Public or Private:公開か,非公開か?
Add a README file:Readme.md (マークダウン形式)作成するか?
Add .gitignore:Gitの管理で無視するリストを作るか?
Choose a license:ライセンスの設定.(まずはNoneで良い)
作成したら,
Repositories から,作成したレポジトリを選択.
Code をクリックすると,
Code -> Local -> HTTPS
https://github.com/(user-name)/(repository-name).git
のようなアドレスが表示される.
これをコピーして使う.
ローカルPCへのクローン
PC内に Git をインストールしておこう.
ターミナルから
$ git -v
でインストールされているか確認しよう.
Githubで作成したレポジトリの内容をローカルなPCにクローンする.
クローン(clone)はGithub の当該レポジトリの内容をローカルにコピーすると捉えていい.
適当なディレクトリに移動して,以下のコマンドを実行しよう.
$ git clone https://github.com/(user-name)/(repository-name).git
レポジトリの名前を持ったディレクトリが作られる.
そのディレクトリ内に,レポジトリの内容が反映されているはずだ.
更新した内容のコミットとプッシュ
内部のディレクトリの内容を更新したら,以下の git add コマンドで,どのファイルやディレクトリの更新を認めるかを設定する(ステージイングという):
$ git add .
$ git add . の場合は全ての更新を認めることになる.
特定のファイルを選択する場合は,$ git add style.css のように書く.
何をステージイングエリアに上げたかを確認するには,
$ git status
$ git status コマンドで確認できる.
更新する全てのファイルやディレクトリをステージに上げたら,これをコミット(更新履歴への反映)を行おう:
$ git commit -m "create style.css"
$ git commit コマンドでは,-m オプションをつけ,短いコミットメッセージを付与させるのが便利だ.単に git commit だとエディタが開いてコミットメッセージなどを書く画面に映るので,面倒が増える.
これを繰り返していく.
ある程度作業が済んだら,Github(リモートレポジトリ)に反映(プッシュ)させよう.
Github への push
git commitコマンドを行なって,ローカルレポジトリの更新が済んだら,これをリモートレポジトリに反映させよう.
git push コマンドだけで反映できる:
$ git push
エラーなどなく,正常に push できていれば,ローカルレポジトリの内容がリモートレポジトリに反映されているはずだ.
確認して,問題なければ,ローカルレポジトリのディレクトリは丸ごと消しても問題ない.また,編集する時にクローンすればいい.
その他の機能
ブランチや,フォークなど,多くの機能が git には備わっている.
これらのメジャーな機能はその都度調べて使おう.
Git は開発が現在も活発に進んでいて,特にマイナーな機能のアップデートは随時行われているため,やりたい操作があれば,その度に調べることをお勧めする.
参考
デスクトップアプリ
MacOS か Windows OS であれば,デスクトップアプリのGUIから,clone,commit や push などの操作ができる.
モバイルアプリ
専用アプリから,自分のレポジトリの確認や,メモなどができる.
他ユーザーのパブリックレポジトリの検索や確認などもできる.