ここでは,オープンソースリポジトリの代表格であるgithubを用いた,ソースコードの公開方法について示す.
ここでは,研究室のリポジトリへの公開・修正・修正依頼の方法を示すが,他のリポジトリに対しての対応も同じため,
このサイトでの練習を通じて,他のオープンソースリポジトリへのサポートを行えるようになって欲しい.
githubのユーザの作成
以下のサイトにアクセスする.
githubホームページ
アクセスするとユーザの作成ができるので,ユーザ名とメールアドレス,パスワードを登録する.

登録すれば,ユーザが作成できる.
githubの利用方法
Macの場合
Macの場合は,今後の事も考え,下記のサイトを参考に,homebrewのインストールをする.
Homebrew HP
Linuxの場合
Linuxの場合は以下のコマンドでインストールを行う.
sudo apt install gitWindowsの場合
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]というリポジトリを作成する.
ローカルリポジトリでの作業
ローカルリポジトリでの作業は主として以下の様になる.
- ソースコードなどを作成・修正する
- 修正内容をローカルリポジトリに登録する
- ローカルリポジトリでの修正内容をリモートリポジトリに反映する
通常作業としては,上記のようになるが,初期段階では上記に加えて,
- リポジトリとして利用するための初期設定
- リポジトリで管理するソースコードなどの登録
以下に具体的な進め方の例を示す.
ローカルリポジトリでの作業
以降,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回目の作業となる.
開発時は,ソースコードの修正を行い,検証を行った後で,
- 4行目にあるように,修正したソースコードをコメント共にコミットする
- 6行目にあるように,リモートリポジトリにpushする.
という流れで,ソースコードのアップロードができる.
なお,githubでは,実行ファイルをアップロードすることは禁止されているので,必ずソースコードのみになっていることを確認すること.
以上がgithubの基本的な利用方法となっている.
