はじめに

大学の研究室で後輩にGitとGitHubの使い方を教える会を前にやったので、ついでに記事として残しておきます。

Git

ダウンロード/インストール

インストールされてなければこちらからダウンロードし、インストールをします。

初期設定(GitHub登録してからの方がいいかも)

ターミナルから以下のコマンドを打ちます。

$ git config --global user.name "GitHubのユーザ名(じゃ無くてもいいけど揃えとくといい)"
$ git config --global user.email "GitHubのメールアドレス(じゃ無くてもいいけど揃えとくといい)"

ローカルでリポジトリごとに設定することも可能です。

GitHub

登録

Join GitHubからUsername/Email address/Passwordを入力しアカウントを作ります。多分躓くところはないと思います。

あと、GitHubは学生プランもあるのでオススメです。

リポジトリ作成

画像にあるように「New」から作成できます。

作成ができたら、リポジトリの情報を入力していきます。

ローカルリポジトリ

自分の手元で扱うリポジトリです。

リポジトリ単位で、バージョン管理を行うのですが大まかな流れは

  1. インデックスに追加
  2. インデックスに追加されたものをコミット

です。ここで行ったコミットがどんどん積み重なっていき、特定の地点のコミットに戻れたりします。

またブランチを切ることで、別バージョンの開発ができたりします。

初期化

以下のコマンドで、現在のディレクトリをGitリポジトリとすることができます。

$ git init

インデックスに追加

やり方は以下のどれかです。

$ git add <追加したいファイル/ディレクトリ>
$ git add .   # 全て追加
$ git add README.md   # README.mdというファイルを追加
$ git add assets  # assetsというディレクトリを追加

一番よく使うのはgit add .だと思います。

ただ、これだと全てのファイルを追加してしまうため、Gitでバージョン管理しないものやアップロードされては困るファイル/ディレクトリ(例えばシークレットキーが書かれたファイルやビルドしたバイナリとか)まで追加されてしまいます。

そこで.gitignoreというファイルでGitでの管理に含めないファイル/ディレクトリを指定できます。

コミット

次のどちらかで、コミットを登録しましょう。

$ git commit -m "コミットメッセージ"
or
$ git commit  # エディタが開いてメッセージを打てます

コミットメッセージは自由に打てますが、プロジェクトごとに書式が決まってたりもします。特になければ、変更点をわかりやすく書けばいいと思います。

またコミットの頻度も自由ですが、細かくやることを推奨します。1つの機能や何かタスクが終わるごとにやるといいでしょう。

ローカルリポジトリでの更新はaddcommitがあればいいので、この2つがもっとも高い頻度で使うことになると思います。

ブランチ

別バージョンの開発や、機能の追加/修正ごとなどに使うことがある、バージョンの枝分かれ機能です。特に他人との共同開発ではよく使うことになると思います。

コマンド一覧を示しておきます。

$ git branch <ブランチ名>  # ブランチの登録
$ git checkout <ブランチ名>    # ブランチの切替
or
$ git checkout -b <ブランチ名>   # 上の二つをまとめてできる

$ git branch -d <ブランチ名>   # ブランチの消去

$ git merge <ブランチ名>   # 他のブランチと結合

リモートリポジトリ(今回はGitHub)

リモートリポジトリの追加

先ほどのgit addと似ていますが、こちらはgit remote addを使用します。以下の通りです。

$ git remote add <リポジトリ名> <URL>
$ git remote add origin https://github.com/hoge/huga.git # リポジトリのデフォルトの名前がoriginです

プッシュ

ローカルリポジトリの変更をリモートリポジトリにアップロードします。以下の通りです。

$ git push -u <リポジトリ名> <ブランチ名>    # -uをつけると次回からgit pushのみで良くなります
$ git push -u origin master
$ git push

プル

リモートリポジトリから最新版を持ってきます。作業前に必ずやるようにしましょう。

$ git pull

おわりに

これで一通りの作業ができると思います。

ここに書いていないことや、困った時は先輩が残してくれた作業別Gitコマンド集を見れば、だいたい書いてあると思います。