gitを使ってみる【解決編】

2015/08/21/Fri

以前、gitをつかってみるの撃沈編をお送りしました。
・gitにバックアップ(コミット)する
・GitHubにアップロード(プッシュ)する
・GitHubから自分のPCにダウンロード(プル)する
・新規の人が他人のファイルを
 新しく自分のPCにダウンロード(クローン)する
という作業のことですよ、覚えてますか!!

初めてgitを使ってみてから
何回もgitを使い、慣れていこうと頑張ってみた姉妹。

姉妹「あれ、あの日は混乱してたのに、
   使ってみたら意外と使えてる…!」

そうです。深く考えなければ、なんだかんだ使えてるのです。
これなら頑張れば説明できるのではないかと思い
解決編を書こうと思ったのです。

ー謎解きー

〜リポジトリとは〜

gitでファイルを管理しておけば、
保存した履歴がgitに保存されていきます。
そのファイルやディレクトリの状態を記録する場所のことを
リポジトリといいます。
リポジトリの管理下に変更した履歴を
管理しておきたいディレクトリをいれておくことで
そのディレクトリ内のファイルなどの履歴を記録してくれます。
だからgitを使う場合にはリポジトリを
作らなければいけないということですね。

さらにさらに、そのリポジトリは2種類あるのです。
それはローカルリポジトリとリモートリポジトリです。
ローカルリポジトリは、自分のPC上にあるリポジトリで
リモートリポジトリは
ここではGitHubに配置されているリポジトリです。

…わかりますか?

〜姉妹のわからなかったこと〜

ところで、最初にわからなかったのは
その変更履歴の保存場所だったのです。
姉「いったいどこに保存されているのだろう…」
妹「このPC上のどっかっしょ!」
姉「それはわかってるんだって、
  そのどこに行ってるのかが知りたいの!」
妹「………考えてなかった」
今では、雰囲気(!)で感じとっています。

ただ、自分が変更したファイルを上書き保存したからといって
コミットされてるわけではないですよ!
ちゃんとSource Treeを使ってコミットボタンを押さないと!
コミットしてから、次にコミットするまで、
自分がたくさんソースコードを変更しても、
その変更履歴は残らないので
そこは注意しておきたいですね。

バックアップするメリットは
撃沈編でも書いたのでわかりますよね。

あれ、神の声が聞こえる…
「ずっとバックアップ、バックアップ言ってるけど
 gitではバックアップって言わないんだよ!イメージは一緒だけど!
 gitでは『コミット』って言うんだよ」

…そうらしいです。
覚えておきましょう!

〜プッシュ、プッシュ〜

次にGitHubにアップロードするという話なのですが、
実はアップロードもgitでは『プッシュ』といいます。
では、なんのためにプッシュをするのかというと
自分ひとりだけでソースコードを書いていたとき、
万が一PCが壊れてしまったら、
ローカルリポジトリ自体にもアクセスできなくなってしまい、
データを復活することができなくなってしまいますよね。
それは大変!
また、何人かで共同でソースコードを書いていたとき、
共有するのがめんどくさいですよね。
これまた大変!
そんなときプッシュが便利なのです。
プッシュすることでGitHubにあるリモートリポジトリに
ソースコードが保存されます。
自分のPC上ではなくサーバーに保存されるので
そこにアクセスすれば誰でもみることができるのです。

姉「普通にみんなに見られるとか怖い」
妹「恐怖、恐怖」
?「GitHubにお金を毎月払ったら、
  プライベートリポジトリっていって
  公開されないようにも出来るんだよ」
姉妹「結局お金かーー」

〜プル&クローン〜

そして、プッシュしたデータをPCに取り込むことを
『プル』『クローン』といいます。
なにが違うの?って思いますよね。
プルというのは、元々そのデータが入っていて、
そのデータを更新することです。

push_pull
クローンというのは、新しく他の人にデータを貰いたいときに
ダウンロードすることです。
一回クローンすれば
そのデータを更新したいときは、ずっとプルです。

clone
クローン→自分が編集→コミット→プッシュ→他の人が編集→プル→自分が編集→コミット……
という感じです。

〜まとめ〜

姉妹ふたりとも丁寧に説明してもらったのですが、
最初はほんとにわかりませんでした。
でも使ってるうちにつかめてきます!ほんとに!
わかるまで使い続けましょう!!

姉妹「つかえるようになれば楽だった」