未経験からプログラマに、俺はなる!!〜とある東大生の挑戦記〜

院進学予定の東大農学部生がふと思い立ち、10か月でアメリカのプログラマーになるまでの記録(初めての方は左上のリンクから「このブログについて」に飛べます)

Launch School備忘録2(Preparatory-Back-Git)

git fetchで、remoteでの変更を記録したコミットをブランチごとにダウンロードする。

git diff master origin/master

で、localのmasterブランチとremoteのorigin(=remote repo)のmasterブランチを比較できる。

originとmasterが分かりにくかったけどはっきりした。

originはremote repoのこと。

masterはlocal, remote両方が共通して持つbranchの一つ。

branch群はlocalもremoteも共通して見ている。masterはその中の一つ。

もう登録してあるので、

git pullでpull出来る。

git pull origin masterでも良い。

origin:remote repo、master:(originの)masterブランチ

------

remoteはあるがlocalがない時、git cloneを使う。

git cloneは全ファイル、フォルダ、コミット歴、全ブランチ、その他すべてをローカルにコピーする。

コマンド:

git clone <remote repository url> <local directory name>
localディレクトリはなければ作られる。
remoteのurlは、localのconfigの中でoriginに設定される。

git cloneがよく使われるのは、新しいプロジェクトに参加した時など、remote repoはあるがlocal repoがない時。オープンソース開発に参加する時もまずやるのはこれ。
第二引数は、指定しなければremote repoの名前が自動でつく。
まとめ。
git init:local repoを作る。
git remote add origin <remote url>:既にあるlocal repoに、remoteとして既にあるremote repoを登録する。
git clone <remote url>:localがなくてremote repoがある時、local repoをコピーして作る。
例えば

git clone https://github.com/rails/rails.git

とすれば、railsという名前のディレクトリがlocalに出来る。これはrailsのソース。

SSH keysとname/emailは対応する。
どちらもセキュアなやり取りのpassである。
GitHubの中での説明に、SSH keyの作り方が詳しく載っているので必要な時に読む。
SSHとHTTPが一応対応する。
remoteのurlのやり取りとしては、https://で始まるのがHTTP、始まらないのがSSHである。
とりあえずPreparatory Work(Back-end)のGitはこれでおしまい!
ようやくPreparatory Work(Back-end)の5/15が終わった。。