#Gitド入門
##最初に
プログラミング超初心者の大学生の私がGit
という概念を理解するまでに人よりも時間がかかってしまったので概念の簡単な説明と、ド入門的なちょっとした用語の説明を行います。
Gitという言葉を聞いたばかりのレベルの人に対する説明ですので、超初心者以外にはあまり役立たないかもしれませんのでご了承ください。
##Gitとは
Git【ぎっと】とは、簡単に行ってしまうとプログラムや画像などといったファイルを、「いつ」「誰が」「どんな変更を行った」等といった情報(以降、変更履歴)を管理するソフトウェアです。
この様なソフトウェアはバージョン管理システム(Version Control System)と呼ばれVCS【ぶいしーえす】と略されます。
「初心者にgitの概念を説明してみる」より引用
https://qiita.com/t-kubo0325/items/5a2b15cef0aaa92c9713
この説明が非常にわかりやすかったので引用させていただきました。
とはいえPCを触り始めてすぐくらいの人(私)にはそれでもわからない場合があると思いますので、例を用いて説明します。
###例
数十人のグループで半年かけて一つの絵を描くことになりました。(日本の田園風景
の絵とします)
誰がいつどのように描き加えても良いというルールを決めたので、皆はより良い作品にするため、どんどん色を加えたり、細かいところを書き込んだりしていました。
しかし、数人がお題を勘違いしていたため、日本の民家を消してアメリカの田舎の絵を描いていました。
誰が勘違いをしてどこにアメリカの田舎の絵を描いているのか、判別がつきません。
ここで便利なのが「Git」
だ!
誰がいつアメリカの絵を描き始めたのか誰でもすぐ調べることができ、それを取り消したりすることもできるんだ!
もちろん誤って描かれたものの前には何が描かれていたかも見ることができるぞ!
ここでもしGitが無いと、最初からやり直し、もしくは制作自体中止になってしまうかもしれません。
Gitは便利ですね。
(*普通にわかりづらかった場合、この例はスルーしてください。)
##Gitの簡単な使い方
これさえわかっておけばなんとかなるという用語を説明いたします。
超初心者向けにあえて用語はあまり用いず概念だけで説明いたしますので、しっかりと学びたい人はこの記事だけでは十分では無いと思います。ご了承ください。
先ほどの絵の例を用いて説明いたします。
###clone(クローン)
数十人のグループで書いている絵を自分の手元(ローカル)に持って来ること。
修正したり、付け加えたり、消したりすることができるが、自分の手元(ローカル)で行うことでこの変更は大元(リモートリポジトリ)の皆が書いている絵には反映されない。
ある意味コピー
して持ってくることに近いが、add
などで変更を大元に反映させることも可能なので少し概念が違う。
(例)
git clone 田園風景の絵(URL)
###pull(プル)
12/22に皆で書いている絵をクローンして手元に持ってきたとしても、12/23には誰かが大元の絵に変更を加えていることがある。
ということは12/22にクローンした絵は12/23には古いバージョンのものになっているということである。
ここで、プル
が必要になってくる。
プルはクローンした手元の絵を最新の大元の状態
にすることができる。
(例)
git pull
###add(アド)
クローンして修正した絵のどの部分を、大元の皆が書いている部分に反映させるかというのを決めるのがアド
である。
自分が修正した全てを指定することもできるし、一部だけを指定することもできる。
(例)
git add 民家の屋根
###commit(コミット)
アドで指定した部分を自分の手元で確定させるのがコミット
である。
どの様な修正で誰がやったかはこの作業で確定させる。
(例)
git commit -m '民家の屋根の修正'
###push(プッシュ)
コミットしたものをプッシュすることで大元に反映させることができる。
(例)
git push
##最後に
Gitはプログラミングをする上で必須と思いますのでサクッと覚えて次のステップへ是非進んでください!