#TechAcademy Git編
この記事はTechAcademyの学習メモGit編です。
メインページはこちら。
cloud9とGithubを連携させて使いましたが色々とはまりましたね。
基本的な使い方は既に使ったことあるので結構省略します。
##言葉の整理
リモートリボジトリ:githubなどローカルではなく主管理される場所。メタファーは木
ローカルリポジトリ:ローカルで管理されている場所。メタファーは木
ブランチ:リポジトリの中にできる歴の幹。メタファーは枝
commit:歴を作る
add:2つあるので注意、git addはコミット候補にする、git remote addはリボジトリを登録
##基本の流れ
###自分で開発を始めた時
Githubでリモートリポジトリ作成
git init でローカルリポジトリ作成
git add . でファイル変更をコミット候補へ(.は全てを表す、地味に忘れがちなので注意)
git commit でコミット
git remote add origin git@github.com:ユーザ名/リポジトリ名.git でリモート先を登録
git push origin ブランチ名 でリモートリポジトリの歴を作成
あとoriginのところはupstreamになる可能性があるが、
ここはがっつりはまったところなので別に記事を書きます。
とりあえずそれまでは汚いですけど自分の理解用の図で許してください。
addはリモートリポジトリを作るのではなく、参照先を追加するだけというのがポイント
あとは、cloneの時は勝手にadd originがされています。
###他人の開発から時
上の図のようにするんだけど、本当はローカルでもう一つブランチ切るのが良いみたい。
詳しくはこれが一番わかりやすかった。
Github Fork Pull Request
他人のフォークしたけど、本線の更新を追いたい場合はこちら
GitHubでFork/cloneしたリポジトリを本家リポジトリに追従する
##nanoエディタでコミットメッセージを入れる
cloud9だと git commit -m "コミットメッセージ" ではなくて
git commit だけするとnanoというエディタが起動する。
これが地味にはまったのでメモ
ファイルの保存は、Ctrl+O (オーね、念のため) ※自分の家の環境だとAlt+Oなので注意
nanoを終わるのは、Ctrl+X
詳しくは以下などを見よう。というか -m "コミットメッセージ"で済ませよう。
端末で使うテキストエディタ nano
##かつてちゃんとわかっていなかったところ[追記あり]
・githubでは複数のブランチは作れるのか?
追記:作れる。けどgithubからのコマンドで作成することはできない。どう作るかというとローカルで作成した新規ブランチをmaster以外のブランチ指定してpushすると作られる(らしい)。どうりで検索してもgithubでのブランチ作成方法が出てこないはずだ。こういう風に出来ないことを延々と調べなくて済むのでメンターへの質問できる環境はとても助かります。
あとプロジェクト管理者まで行ったら複数ブランチ運用の必要が出てくるだろうからココらへんを参考にすること
6.3 GitHub - プロジェクトのメンテナンス プロジェクトの管理
・git checkout と git clone の違い
チェックアウトをSVNの感覚で理解しようとするから勘違いにハマっている。SVNでのcheckoutはcloneに相当している。一方でgit checkoutは色々と機能はあるけど基本は「スナップショットへのロード」と考えると良い。