苦労してやっと作ったプログラム。どこまで修正したか分からなくなった?!ということが無いようにソースコードをしっかり管理しよう。GitHubとはGitを使ったソースコード管理プログラムを作っていくとソースコードがどんどん増えていきます。ソースコードを修正するときは、間違ったプログラミングをした時などに修正前の状態に戻したりすることもあります。一度完成したプログラムも、その後で何か新しい変更を追加したり修正することもあります。1つのソースコードは大きくなくても、数多くの種類ができあがることもあります。いった状態でどのソースコードがどこまで修正されているものか、どのバージョンのソースコードを修正すればいいのかなどの管理をしておかないと、せっかく作ったプログラムもどこまで期待通りに動くものなのか分からなくなってしまいます。そのソースコードを管理するのがGit(ギット)です。GitはもともとLinuxカーネルのソースコードを管理するために開発されました。Git以外にもソースコードを管理するツールは古くから無料や有料含めて数多く存在しますが、現在は様々な企業や個人がGitを利用しているので事実上の標準ツールと言っていいかもしれません。ソースコード管理には集中型と分散型があります。管理ツールがでてきた頃は主にCVSやSVNなどの集中型でしたが、今はGitなどの分散型になっています。管理の仕組みにはリポジトリという記憶領域を使っています。リポジトリとは、ファイルやソース変更履歴などソースコード管理に必要な情報を一元管理するための貯蔵庫です。以下に集中型と分散型の違いを簡単に説明します。集中型はリポジトリが1箇所で、作業するメンバーはすべて1つのリポジトリを使ってソースコードの更新を行います。このリポジトリにアクセスできないと更新作業ができません。CVSやSVNなどが集中型です。分散型はリポジトリがリモート(サーバー)とローカル(クライアント)に分かれて複数あります。これにより普段の更新作業をローカルで行い、ある程度作業が進んだ時点でリモートを更新することで自分の更新や他メンバーの更新を反映できます。リモートにアクセスできない環境でも個別の更新ができます。Gitなどが分散型です。Gitの使い方Gitは基本的にコンソールでコマンド入力して使います。GUIツールもありますが、まずはコマンドによる使い方に慣れてからでも良いかと思います。MacおよびWindowsでは標準でGitは使えないのでGitをインストールします。インストールの方法はOSによっていくつかあります。StoreからXCodeをインストールするとgitが使えるようになります)ここではインストール方法の詳細は説明しませんが、通常のアプリをインストールのと特に違いはありません。Gitをインストールしたら使い方を見ていきましょう。Gitを使う最初の手順は以下になります。一度この手順を行った後は、ソースコードを追加・変更する度に3.4.6を繰り返し行います。Gitの設定Gitを使うためにはユーザー名とメールアドレスを事前に設定しておく必要があります。この情報は、~/.gitconfigに保存されます。hogehoge@example.comここでの説明はGitHubを使うので、ユーザー名とメールアドレスはGitHubで登録するものにあわせておきましょう。statusなどのコマンドで日本語ファイル名を表示できるようにするには以下の設定を行います。次にリモートリポジトリとローカルリポジトリを作成します。Gitは2つのリポジトリをコントロールします。ソースコードはリモートとローカルの両方で記録されます。リモートリポジトリがソースコードの本体、ローカルリポジトリがソースコードのコピーと考えます。リモートリポジトリは1つだけですが、ローカルリポジトリは複数存在する可能性があります。ローカルで複数同時にソースコードを修正しても本体には直接影響のない仕組みとなっています。一人でソースコードを修正する場合は特に気にする必要はありません。リモートリポジトリの作成(GitHub)ここではリモートリポジトリはGitHubを使います。GitHubについて以下の「GitHubとは」を参照してユーザー登録してください。GitHubは無料で利用できるので安心してください。GitHubに登録したアカウントでログインしてください。Repository」ボタンを押してリポジトリを作成します。リポジトリ作成時にPublicかPrivateを選択できます。Repository」ボタンでリポジトリを作成すると完了します。リポジトリ名は何のソースコードなのか分かるような名前を付けましょう。最後にリモートリポジトリのアドレスがHTTPS用とSSH用それぞれ表示されるのでメモしておきます。このアドレスを後のGitコマンドで使います。GitHubでなくサーバーにリモートリポジトリを作成するには以下のコマンドをサーバーで入力します。リモートリポジトリの作成ローカルリポジトリの作成ローカルでソースコードのあるディレクトリに移動します。そこにローカルリポジトリを作成します。変更・追加したソースコードをローカルリポジトリへ追加します。myprogram.ccソースコードのファイル名を指定して個別に追加することもできますが、以下のコマンドでまとめて追加します。.「.」を指定するとサブディレクトリも含めた全てのファイルを追加します。.」を利用すればファイル名を指定せず、変更されたソースコードはアップデートされ、新しく作ったソースコードは追加されます。変更をローカルリポジトリへコミットソースコードを追加した後、ローカルリポジトリにこの追加を確定(コミット)させます。これによりリポジトリの履歴が保存されます。commitこのコマンドを実行するとエディタが起動されてコメントの入力を求められます。入力後に保存してエディタを終了するとコミットが完了します。入力するコメントには基本ルールがあります。1行目:変更の要約(50字以内)、2行目:空行、3行目:変更の詳細説明(72字以内)です。できるだけシンプルな記載をしたほうが、あとでログの確認時など読みやすいです。以下のコマンドを入力すればエディタを起動せずにコメントと一緒にコミットできます。"[コメント]"普段の利用ではこのコマンド入力でコメントと一緒にコミットするほうが作業しやすいでしょう。以下のコマンドで使用するリモートリポジトリを追加します。ここではGitHubを使用するので、GitHubで作成したリモートリポジトリをコマンドで指定します。https://github.com/username/myproject.gitローカルリポジトリをリモートリポジトリへ反映ローカルリポジトリに変更した内容をリモートリポジトリへ反映します。master最初にpushコマンド実行時するとユーザー名とパスワードを求めてくるので、GitHubの登録アカウントのユーザー名とパスワードを入力します。Git作業のまとめこれで最初の作業は完了です。まとめると以下になります。リモートリポジトリにプッシュ次回からは、ソースコードを変更・追加する度に以下の繰り返しとなります。リモートリポジトリにプッシュGitHubにあるソースコードをコピーするリモートリポジトリに既にあるソースコードをローカルにコピーすることができます。init)は必要ありません。cloneコマンドでGitHubにあるソースコードをコピーして作業します。cloneコマンドを実行するとリモートリポジトリに登録されているフォルダ構成ごとローカルにコピーされます。GitHubとはGitHubは簡単にはGitの分散型にあるリモートリポジトリをインターネットを経由したクラウドサーバーで利用できるようにしたものです。加えてSNS機能もあるのでフィードやユーザーフォローなどが使えプロジェクトをベースとしたコミュニティとして利用できます。GitHubを使えばGitの特性を利用してソースコードだけではなく、各種ドキュメントの管理もクラウド上で行えます。GitHubはインターネットに繋がる環境であればどこにいても目的のプロジェクトのリポジトリを利用できます。オープンソースのプロジェクトではよく使われていると思いますが、個人でも利用する価値のあるサービスです。GitHubでリポジトリを作成する時に、PublicとPrivateのタイプを選択できるのですが、Publicで利用するのは無料でPrivateは有料となっています。多くはソースコード管理を目的として使っていると思いますが、実は各種ドキュメントの履歴管理をするのにも便利です。どのようなタイプのファイルでも履歴を保存し管理するのにとても便利なサービスなのです。利用するための容量制限は無いのですが、リポジトリは1GB以下が推奨されています。それを超えると警告メールがきます。1つのファイルは100MB以上のものをプッシュできません。50MBを超えるとこちらも警告メールがきます。ここでは、Gitの使い方をリモートリポジトリとしてGitHubを使って説明します。GitHubを利用するにはまずユーザー登録をして、自分の管理するリポジトリを作成できるようにします。CodeAidについて。