はじめに
大学の研究室で後輩に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」から作成できます。
作成ができたら、リポジトリの情報を入力していきます。
ローカルリポジトリ
自分の手元で扱うリポジトリです。
リポジトリ単位で、バージョン管理を行うのですが大まかな流れは
- インデックスに追加
- インデックスに追加されたものをコミット
です。ここで行ったコミットがどんどん積み重なっていき、特定の地点のコミットに戻れたりします。
またブランチを切ることで、別バージョンの開発ができたりします。
初期化
以下のコマンドで、現在のディレクトリを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つの機能や何かタスクが終わるごとにやるといいでしょう。
ローカルリポジトリでの更新はadd
とcommit
があればいいので、この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コマンド集を見れば、だいたい書いてあると思います。