githubの使い方(1)

ここでは,オープンソースリポジトリの代表格であるgithubを用いた,ソースコードの公開方法について示す.
ここでは,研究室のリポジトリへの公開・修正・修正依頼の方法を示すが,他のリポジトリに対しての対応も同じため,
このサイトでの練習を通じて,他のオープンソースリポジトリへのサポートを行えるようになって欲しい.

githubのユーザの作成

以下のサイトにアクセスする.
githubホームページ
アクセスするとユーザの作成ができるので,ユーザ名とメールアドレス,パスワードを登録する.

登録すれば,ユーザが作成できる.

githubの利用方法

Macの場合

Macの場合は,今後の事も考え,下記のサイトを参考に,homebrewのインストールをする.
Homebrew HP

Linuxの場合

Linuxの場合は以下のコマンドでインストールを行う.

sudo apt install git

Windowsの場合

Windowsでは,git for Windowsをインストールすればよい.
Git for Windows
git for Windowsの利用方法は,各自でGoogle等で検索して調べること.
インストールする際に,Desktopにアイコンが出るようにチェックを入れることが重要.
以降,デスクトップに作られた,GitBashを用いる.

GitHubの利用方法

ここでは,テストプログラムのソースコードを作成しながら,gitの基本的な使い方を学んでいく.
なお,以降,コマンドラインでの利用方法を示すため,Windowsの場合は適宜読み替えながら進めること.

ローカルリポジトリとリモートリポジトリ

リポジトリとは,ファイルなどを保存する場所である.この元で管理することで,ディレクトリ内のファイルの変更履歴などを管理できる.
リポジトリには,自身のPC上に置かれる「ローカルリポジトリ」とgithubなどのサーバを差す「リモートリポジトリ」に分けられる.
githubを利用する場合は,事前にリモートリポジトリの方でリポジトリを作成し,その後,ローカルリポジトリで作業を行うという流れになる.

githubでのリポジトリの作成

githubにログインし,画面右上の[+]マークの所から,[New repository]を選択する.

選択すると,リポジトリ名の設定に加えて,一般に公開する[Public]と後悔せずに開発チームで利用を目的とした[Private]が選択できる.
(以前はPrivateの利用は有料であったが,現在は3名までの共同開発では無料で利用できる.)
また,READMEの作成や,ライセンスファイルの作成が可能となっている.

ここでは,何も作らず,空のリポジトリを作成し,中身についてはローカルリポジトリで管理することを想定する.

練習のために,[github_test]というリポジトリを作成する.

ローカルリポジトリでの作業

ローカルリポジトリでの作業は主として以下の様になる.

  1. ソースコードなどを作成・修正する
  2. 修正内容をローカルリポジトリに登録する
  3. ローカルリポジトリでの修正内容をリモートリポジトリに反映する

通常作業としては,上記のようになるが,初期段階では上記に加えて,

  • リポジトリとして利用するための初期設定
  • リポジトリで管理するソースコードなどの登録

以下に具体的な進め方の例を示す.

ローカルリポジトリでの作業

以降,github用のリポジトリ置き場をとする.
適宜自身の環境に読み替えること.

cd 
mkdir github_test 
cd github_test

ディレクトリを作成したら,その中で以下の様に新しいファイルを作成し,
ローカルリポジトリに管理登録し,リモートリポジトリにアップする.
(のところは適宜自分のアカウント名に合わせる事)

git init 
echo “github test!!” > readme.txt 
git add . 
git commit -m “1st Commit!!” 
git remote add origin https://github.com//github_test 
git push origin master

このような手順を踏むことで,ローカルリポジトリでのソースコードの管理および,
リモートリポジトリへのアップロードを行う.

1行目は,現在作業しているディレクトリをgitのローカルリポジトリとして利用するための初期設定を行っている.
なお,今回のように,ローカルリポジトリから作成する場合はこの手順となるが,リモートリポジトリをcloneしてくる場合は1行目の手順は行う必要はない.

2行目はテスト用のファイルを作っている.どんなファイルでも良いので,この段階で他の場所からソースコードをコピーしてきても良い.

3行目のコマンドで,ディレクトリ内にあるすべてのファイルをgitリポジトリの管理対象とするために,ステージ領域と呼ばれる場所にファイルを登録している.
“.”はすべてのものを差しているが,以下の様に具体的にファイル名を指定しても良い.

git add readme.txt

続いて,4行目において,コメント共に,ローカルリポジトリのステージ領域に登録されている時点のファイル群の状態を記録している.

5行目では,リモートリポジトリに追加するために,リモートリポジトリのURLについて登録している.この際,originというなの識別子で,リモートリポジトリのURLを差すようにしている.

6行目において,originの識別子で管理されているリモートリポジトリのmasterブランチの内容が,githubのリモートリポジトリに送信されている.
このコマンド実行後に,リモートリポジトリであるgithubにアクセスしてみると,ファイルが正しくアップロードされていることを確認できる.

以上が1回目の作業となる.

開発時は,ソースコードの修正を行い,検証を行った後で,

  1. 4行目にあるように,修正したソースコードをコメント共にコミットする
  2. 6行目にあるように,リモートリポジトリにpushする.

という流れで,ソースコードのアップロードができる.
なお,githubでは,実行ファイルをアップロードすることは禁止されているので,必ずソースコードのみになっていることを確認すること.

以上がgithubの基本的な利用方法となっている.