おれ、エンジニアになるよ。

エンジニア志望の大学生だった若造がISUCON7を通して見事就職した後、今度は一人前のエンジニアになることを目指す成長物語

さぼさんのGit講座を受けました 〜Git〜

こんばんは。

先ほどココイチで「馬モツ煮込みスクランブルエッグカレー500g」を食べて今日という1日を終了させようとうしています。

 

ですが

 

昨夜はさぼさんの3.5時間にも及ぶGit講座を受けたので、これをまとめないわけにはいかない。

ってことで、今回はGitのまとめしまーす。

 

と、その前に

先にマサが書いているのでそちらもどうぞー。

 

masa-world.hateblo.jp

 

 

Gitってなぁに??

 

Gitとは、ソースコードの変更履歴を管理するもの。

 

実は、Gitを作ったのはLinuxの開発者なんです。

その開発者が、Linuxを全世界の人と共有し、開発してブラッシュアップしていこうってことでGitができた背景があるみたいです。

 

 

Gitを使った一連の流れ

 

ここから実際にさぼさんに教わったGitの使い方をまとめていきやす。

 

まずはターミナルを開きます。

 

$cd でホームディレクトリに移動し、

$mkdir  Git_practice でディレクトリを作り、そこに移動。

 

f:id:matsuda-juri:20170517222230p:plain

移動できたら上のコマンド。

この 「git init」はそのディレクトリ配下をGitの管理下にする。

つまり、このディレクトリで変更したり、追加・削除したファイルは履歴に残せるというわけ。

また、ディレクトリ直下にgitファイルがつくられる。

 

 

f:id:matsuda-juri:20170517222642p:plain

atom .」でエディタのAtomを開く。

 

f:id:matsuda-juri:20170517224448p:plain

※test.txtは作っておきます

 

すると、「.git」が作られてるのがわかりますね。

ここでtest.txtをてきとーに変更し保存。

ターミナルに戻り、

f:id:matsuda-juri:20170517224941p:plain

 

これでcommitの準備完了。

 

f:id:matsuda-juri:20170517225517p:plain

 

そしていざcommit!

この時メッセージを添えますが、その内容は変更点の内容がざっくりわかるようなものがいい。

例えば、「ログイン機能実装」とか「バグ修正」とか。

 

これで変更履歴をローカルに残すことができました。

ここで $tig というコマンド打ってみよう。

 

f:id:matsuda-juri:20170517230038p:plain

 

すると

 

f:id:matsuda-juri:20170517230323p:plain

 

こんな画面が出ます。

これは、commitのログ的なやつ。

的なやつというか、それですww

ここで追加したコードとか差分が見れる。

例えば、緑文字の

+ISUCON2017

は、「ISUCON」が「+」、つまり追加されたということがわかる。

 

このtigの使い方は、

「あれ、あの時どんな変更したっけ?」

とか

「あの時のコードに戻したい」

みたいなときに使える。

 

使い方はvimみたいな感じで、

j:下に進む

k:上に進む

q:終了・戻る

 

で操作する。

 

 

ここまでが一連の流れ。

おさらいすると、

 

1. 「git init」 でgit使えるようにする

2. ファイル変更

3. 「git add 変更したファイル」でcommitの準備

4. 「git commit -m "メッセージ"」で履歴登録完了

 

こんな感じですかね。

 

もうちょいGit使いこなそうぜ

 

さっきの続きから。

 

Atomを開いて、てきとーに変更して保存。

 

f:id:matsuda-juri:20170517232927p:plain

 

ここでは add も commit もまだしていない状態。

 

ここでgitの状態を確認したい。

そんなときは $git status

 

f:id:matsuda-juri:20170517233358p:plain

 

するとこの画面。

赤文字で「modified」と出てる。

これは「変更してるファイルがあるよけど、まだaddしてないよー」って意味。

 

ここで

「あれ、どこ変更したんだっけ?」

ってなったらどうするか。

 

そんなときは、 $git diff

 

f:id:matsuda-juri:20170517234429p:plain

 

これは、直前のcommitから現在の変更した部分の差分を見るもの。

これでOKだったらaddしてcommitすれば完了。

 

 

ファイルの状態ってどうなってんの

 

 

f:id:matsuda-juri:20170517235434p:plain

 

 

「untracked」ってのは、「gitがまだ知らないよー」ってこと。

つまりファイルを新しく作った時とかやね。

 

「unmodified」は「変更なし」。コミット直後とかこうなるね。

 

「modified」は「変更した」。

 

「staged」は、「addはしてるけどcommitまだやねー」。

つまり「commit準備完了」ってとこかな。

 

 

 

今回はさぼさんによる基本的なGitの使い方をまとめました。

今までなんとなくGit使ってたけど、コマンド叩くだけであんま理解してなかったなぁww

そんな頭空っぽのぼくにGitを叩きこんでくれたさぼさん、超絶アザッス!!!!!!

ってことで、次回は「GitHubの使い方」。

 

ではでは、今日はこの辺で。