【Git初心者入門】Gitでリポジトリを作ってファイル管理してみよう

スポンサーリンク

はじめに

クマくん
クマくん

・・・・・(カタカタカタ)

うーん、どれが最新のディレクトリだっけ・・・(カタカタ)

あー違う。。。

さめさん
さめさん

クマくん〜。

お昼ご飯行こうよ。

今日はマグロ丼が88円の日だから早く行かなきゃ。

クマくん
クマくん

サメさん。ちょっと待ってて欲しいんだ。

この後午後のMTGで使うプロジェクトの最新のバージョンを探してて・・・

クマくん
クマくん

あ、やっと見つけた!

よかった〜

ようやく安心したよ〜。

ランチ行こうか!!!

さめさん
さめさん

お、よかった!

でもだいぶ時間かかってたみたいだね。

どうしたの?

クマくん
クマくん

今走らせているプロジェクトがあるんだけど、色々修正できるように一定進んだら保存してたんだけど、どれが最新のものかわからなくなっちゃって。

探すの大変だったんだよ。

さめさん
さめさん

え、まさかGit使ってないとか・・・・?

そんなことあるかなぁ・・・?

ちょっとディレクトリ見せてごらん。

さめさん
さめさん

・・・・・

$ ls
sampleApp ver2.3 最新版 修正済2
sampleApp ver2.3 最新版 上司に見てもらう版
sampleApp ver2.3 最新版 修正
sampleApp ver2.3 最新版
sampleApp ver2.2
sampleApp ver2.0
sampleApp ver1.5 xxxxxxxxxを変更したところ
sampleApp ver1.2 上司に見てもらう版
sampleApp ver1.2
sampleApp ver1.1
sampleApp ver1.0
さめさん
さめさん

まさか、本当にGit使っていないね?

クマくん
クマくん

Gitってちょっと難しいイメージがあって避けてたんだよね。

なんとか把握できていたし。特に問題はなかったから。

さめさん
さめさん

今回はたまたま管理できていたとしてもギリギリっぽかったし、これからプロジェクトが進んでいったら管理しきれなくなるよ。

他の人が見た時にどのディレクトリがどの状態の時のディレクトリか分からないと思うし。

クマくん
クマくん

確かに・・・

Git使えるようになりたいんだけど、

ちょっと教えてくれないかなぁ・・・

さめさん
さめさん

もちろんだよ!

お昼食べながらでも話せるくらい簡単だから!

じゃあ早速マグロ丼のお店行きながら話そう!

クマくん
クマくん

やった〜!

すぐ準備するね。

前提

さめさん
さめさん

Gitインストールをしている前提で進めていくね。

できていない人は下の記事を参照して入れてから先に進んでね。

Git - Gitのインストール

Gitで管理するメリット

Gitで管理するメリット
  • バージョンの管理が楽になる機能が充実している。
  • 分散型のバージョン管理システムだから自由に弄れる。
  • 何より軽い・早い!
メリットだらけだね!

バージョンの管理が楽になる機能が充実している。

クマくん
クマくん

これなんだけど、具体的にはどういう機能があるの?

さめさん
さめさん

Gitの機能の一部でしかないけど、少しあげるね!

①タイムマシンで過去の履歴に簡単に遡れる

②こんなことがあったよ!って印をつけておくことができる。

③簡単にコピーを作っておくことができる。

④複数人で開発する時に生じがちで一番大変な同じコードを編集しちゃった時簡単に修正ができる。

クマくん
クマくん

一部だけでもこんなに機能があるんだ!

すごい便利そう!!

さめさん
さめさん

全部の機能を使いこなすのは大変だと思うから、自分に必要な機能だけ使って行くのもありだよ!

分散型のバージョン管理システムだから自由に弄れる。

クマくん
クマくん

分散型ってなに??

さめさん
さめさん

Gitが開発される前まではコードを1つのサーバー上に置いていて、アクセスするのに権限が必要だったり、ネットワークの接続が必要だったんだ。

クマくんも会社の共有フォルダに入れているでしょ?

 

クマくん
クマくん

うん、そうなんだよね。

さめさん
さめさん

そのファイルって編集するのに権限もらわなきゃいけないよね?

多分自分のPCに一回コピーして落として編集してから会社の共有フォルダに入れていると思うんだけど。

さめさん
さめさん

Gitみたいな分散型のバージョン管理システムだとまさに同じ動きをシステムで管理できるんだ。

自分のPCにバージョン管理用の倉庫(リポジトリ)を作れて、自分の権限で自由に編集やコピーができるから申請をもらう手間も必要なく気軽に操作できるんだよ。

何より軽い・早い!

クマくん
クマくん

そういうシステムって重たいイメージがあって使いたくないんだよね。

僕の支給されているPC10年前のだから・・・

さめさん
さめさん

さ、流石にもうちょっと新しいやつにしてもらったほうがいいんじゃない?

さめさん
さめさん

一旦それは置いておいて、実はGitってサーバーを立てて動かしているわけじゃないからめちゃくちゃ軽いんだ。

それぞれのコマンドの動作なんて1秒もかからないんだよ。

全然メモリを消費しないから安心して!

クマくん
クマくん

そうなんだ!

ちょっと触りたくなってきたなぁ。

さめさん
さめさん

よし、じゃあGit操作の方法をレクチャーしよう!

リポジトリを作る! git init

さめさん
さめさん

まずは魔法の呪文。

『git init』

だ!

クマくん
クマくん

これはどういうコマンドなの?

さめさん
さめさん

簡単に説明すると、そのディレクトリにGitのリポジトリを作るコマンドだよ。

1個のGitディレクトリが作成されたってことなんだけどね。

ここからGitで管理する道が始まるんだ。

クマくん
クマくん

Gitディレクトリ?

ちょっと分からない単語が出てきたなぁ。

さめさん
さめさん

そうだね。

ちょっと最初の方はなれないかもしれない。

ひとまず、GItでバージョン管理をするため準備で必ず行わなければいけない作業だから覚えておいて

さめさん
さめさん

初心者の人は

自分がGitでバージョン管理したいディレクトリにいる状態でgit initする。

だけは忘れないでね!

クマくん
クマくん

分かった。

自分がGitでバージョン管理したいディレクトリに移動しておかなきゃいけないんだね!

リポジトリにファイルをぶち込め! git add

さめさん
さめさん

git addはさっきgit initで作ったリポジトリにこれまで変更してきたファイルを追加するためのコマンドだよ。

クマくん
クマくん

addって英語のまんまの意味ですごいわかりやすいね。

さめさん
さめさん

そうだよね!

初心者の人ってgit addのことよく分かっていない人が多いんだけど、git addの根本的にやっていることは、

「これからこのファイルをずっと追跡してね!」

ってお願いしているんだ。

クマくん
クマくん

追跡?

さめさん
さめさん

イメージとしては秘書をつけるに近いかな。

何か変更点があったらすぐに報告して欲しいから、常に見張ってて欲しいと頼むコマンドなんだ。

クマくん
クマくん

なるほどなぁ。追跡してねってお願いするのか。

追加って意味って聞いてリポジトリに保存するのかと思ってったよ。

さめさん
さめさん

保存するっていうニュアンスは次のgit commitなんだよ。

次の項目で説明するね!

さめさん
さめさん

Gitのリポジトリっていうのは正確にいうと、

待合室のようなイメージのステージングエリアと

リポジトリ層の2段階に分かれている。

ステージングエリアにあるファイルをcommitすることでリポジトリに保存しているっていうことになるんだ。

だから、まずファイルをステージングエリアに置かないといけないんだよ。

git addしたあとはずっと秘書が付いていてくれて、変更点があったら変更点分をステージングエリアに上げるか聞いてくれるようになる。

クマくん
クマくん

なんとなくイメージすることができた気がする。

まずはgit addで秘書に付いてもらえばいいんだね。

さめさん
さめさん

素晴らしい!

そういうこと!

リポジトリにファイルを登録せよ! git commit

さめさん
さめさん

git commitはgit addで追跡対象になっているファイルがあったとして、そのファイルに変化があったときに、変更点の部分だけリポジトリに保存させるコマンドだよ。

クマくん
クマくん

さっき話していたステージングエリアにあるファイルをリポジトリに登録するってことだね!

クマくん
クマくん

なんか掴めてきた気がする!

さめさん
さめさん

その通り!

git commitしないと履歴に残らないから最後まで忘れないようにね!

リポジトリの状態どうなってる? git status

さめさん
さめさん

git statusはもし自分が今どこまでadd or commitしてきたか分からなくなった時に使うコマンドだよ。

クマくん
クマくん

これもstatusっていう英語のまんまのイメージかな。

状態を確認するってこと?

さめさん
さめさん

その通り!

具体的には

①git addされていないファイル

②git addされているけどgit commitされていないファイル

を出してくれるんだ。

これまでの変更点は? git log

さめさん
さめさん

git logコマンドはgit commitされた履歴を見ることができるんだ

クマくん
クマくん

ログを確認するってことだもんね!

さめさん
さめさん

その通り!

簡単でしょ!!

終わりに

クマくん
クマくん

よーし、覚えた!

Gitで管理するときは

①init

②add

③commit

の順でいいんだね!

さめさん
さめさん

その他にも状況を確認する

・git status

・git log

があるからね!

さめさん
さめさん

まずは基本のコマンドを使いこなして、 Gitの世界に慣れよう!

おすすめの記事

【コーチングスキルを徹底解説③】フィードバックについて詳しく知ろう!
プログラミングメンターが勧める未経験からエンジニアになるための準備
未経験者から最強のRailsエンジニアになるためのロードマップ
Git
スポンサーリンク
クマくんをフォローする
目指せ、スーパーエンジニア
タイトルとURLをコピーしました