個人開発者のためのGit 〜実践編 1.〜

こんにちは、最近無性に会社に出社して仕事したくなってるdaihaseです。
自宅に篭って作業もいいんですが、やっぱり他の優秀なエンジニア・プログラマーさんに触れ
色々知識を吸収したいですね(´・ω・`) さ、さみしぃ…

さて、そんな僕のどうでもいい話はここまでにして、
前回から続く個人開発者のためのGit、一応今回で3回目のこのテーマ。
念のためこれまでの内容を復習したい方は以下リンクから。

「次だ次!」って方はさっさいっちゃいましょう〜。

ではGitの環境もインストールし、周辺の技術的な部分もボンヤリ?わかったところで早速実際に使ってみましょう。

前回インストールしたiTermを起動して、以下のコマンドを入力して見てください。

以下の図のようにGitのバージョンが表示されたでしょうか?
※インストールしたGitのバージョンは多少差異があることがあります。一旦気にせず表示されればOK!

Gitが無事インストール出来ていることが確認出来たので、まずはGitを使う上で最初に行う初期設定からやっていきたいと思います。

初期設定

さて、まずはGitを使うユーザーの「ユーザー名」「メールアドレス」を登録してやる必要があります。これは後からいくらでも編集・変更可能なのですが最初にまず設定しちゃいましょう。

iTerm上で、以下のコマンドを入力し「あなたの名前」「あなたのメールアドレス」の箇所に
それぞれ自分の情報を打ち込んでください。

ちなみにgit configというコマンドがGitの各種設定をターミナルから操作するためのもので、–global というのはオプションと呼ばれるもので様々な種類があるのですが、ここではglobal(つまりこのPC)上で行うあらゆる操作において、この名前とメールアドレスを用いますよ、といったものになります。実際色々な所でこの入力した名前等が反映されることになるのですがいつでも変更可能ですし、一旦はGitを使うユーザー名と、その人のメールアドレス、とだけ覚えておけばOKです。

また下記コマンドも、Gitの表示がカラーになって見やすくなるのでついでに叩いておきましょう。

次にGitを利用する際に用いるエディターの指定として”Vim”を設定してやります。

なお、Vimというのはこれ単体で非常に高機能なエディターで、このVimだけで1冊の本になるくらい膨大な情報を含んでいるため、ここでは割愛します。簡単にいうとサーバー(Linux)上で様々な操作をするのに、このVimエディタを用いることで非常に効率よく入力処理等行え、また愛用するファンも大変多いエディタなので、全く知らないという方は機会があれば是非。これまでの開発ライフが変わるくらい魅力的なエディタですよぉ(。◕‿◕。)
さて、これら入力が完了したら実際に設定が反映されているか確認してみましょう。
前回の記事でLinux/Unixを扱う上で最低3つのコマンドを覚えましょう、といった内容を覚えていますでしょうか。

cdpwdls

でしたね。
これらを早速駆使していくので実際自分でも手を動かしながらやってみてください。

まず自分が今どの位置にいるか、それを確認するためにiTerm上でpwdと入力してみてください。

どうでしょう、pwdと入力してEnterを押すと「/Users/LibraStudio/Public」といった感じに、自分が今いる場所が表示されたと思います。ここでは僕の環境なのでこのようなパス(表示されている/Users/…の経路)になっていますが、実際は人それぞれ違う結果になっているはずです。

まずMacのホームディレクトリが表示されていない方もいるかもしれないので、Finderを開いたら左上の「Finder」から環境設定を選択し、「サイドバー」を選択し自分のユーザー名があるはずなので、チェックを入れます。するとFinderの項目部分に表示されるはずです。

スクリーンショット 2016-03-18 2.15.50 スクリーンショット 2016-03-18 2.15.56

無事Finderを開いて左側部分にユーザー名(ホームディレクトリ)が表示されたでしょうか。
実は、先ほどiTermで打ち込んだgit configコマンドの結果、「.gitconfig」というファイルがユーザーのホームディレクリに吐き出されます。この中身に「ユーザー名」「メールアドレス」が正しく打ち込まれているか確認してみましょう。

まずiTermでpwdと打って現在の自分のいる位置がわかったので、.gitconfigがある場所までいってみましょう。 以下のコマンドを入力してみてください。

ここで、lsとコマンドを入力し、Enterを押してみてください。
おそらくズラララーっと大量に結果が出てくると思います。このlsコマンドはそのディレクトリ内のファイル一覧を出力するコマンドなのですが、.gitconfigが見当たらないはずです。

それもそのはず.gitconfigファイル、よく見ると”.”とドットが先頭についています。
このドットで始まるファイル・ディレクトリは隠しファイルとして扱われるというルールがあるため表示されないのです。

そこで隠しファイルを表示させるためには、オプション”-a”をつける必要があります。
再度ls -aとコマンドを入力しEnterを押してみてください。今度は.(ドット)が先頭についたファイルも一緒になって一覧表示されたはずです。そこに.gitconfigファイルがあれば無事生成されています。

ではさっそくその.gitconfigの中身を見てみましょう。
ここでVimが登場してきます。 以下のコマンドを打ってみてください。

Enterを押すと、画面が変わりVimが無事起動するかと思います。

一番最初に入力した「ユーザー名」「メールアドレス」がちゃんと入力されているのが確認出来ますでしょうか?

ここではちゃんと設定されているかの確認だったので、Vimを終了させます。
このVimなんですが、全く初めての人が触るとまず”操作がさっぱりわからない”エディタだと思います…。でもコレを覚えない限りはターミナルでの操作を十分に行うのは難しいので、徐々に覚えていくようにしましょう。

ちなみにメインとなるのはあくまでGitなので、Vimに関しては必要最低限に止めておきます。

まずVimには「入力(挿入)モード」「コマンドモード」があります。ここでは深く考えずEscキーを押すとコマンドモードになる、とだけ覚えておきます。
VimでとにかくわけがわからなくなったらまずEscキーを押す(連打でもいい)。
これでとりあえずコマンドモードというのになれるので、まずEcsキーを押してください。
次に、Shift + :(コロン) + q と順に打ってみてください。
iTerm下部に :q と入力されれば成功です。
※よく全角などになってておかしくなることがあるので、
その場合は半角英数にしてEscを連打ぁ!

とにかく「:q」でVimから出れる、と覚えておきましょう。一旦は。

これで一旦Gitの初期設定部分がちゃんと出来たので(ユーザー名とメールアドレス登録しただけですが)、さっさGitっちゃいましょう〜。

Gitリポジトリの作成

さて、こっから早速Gitを体感していきましょう。
まずターミナルでも可能なんですが、一旦今回はLinux/Unixコマンドは3つまで、というのできているのでここは普通にディレクトリを作っちゃいましょう。

Finderで、ホームディレクトリに「git_study」と作ってみてください。そのディレクトリ直下に「sample1.txt」も。

出来たら、iTermに戻ってホームディレクトリにいる状態から以下のコマンドでgit_studyに移動してください。
そして移動し終わったらgit_studyディレクトリ上で ls を入力してみましょう。

まずディレクトリ一式をGitで管理出来るようにするために初期化をしてやる必要があります。
今いる場所(“ホームディレクトリ”/git_study/)で以下のコマンドを入力してみましょう。

どうでしょう、Initialized…って出たと思います。これでこのgit_studyディレクトリがGitリポジトリとして初期化されます。
でもgit initと打ちリポジトリになった、これってどういうことだろうって思うでしょう。
ここでiTermから ls -a と打ってみてください。

おや? .gitとかいうのがありますね。
この.gitサブディレクトリがプロジェクトのバージョン管理をするものなんです。
つまり.gitを消すとそのフォルダはGitで一切管理されなくなり、最初の状態のただのフォルダに戻ります。

ワークツリーで作業

最初のgit init、これをすることで出来たGitリポジトリ。そして皆さんがこれから作業をしていくこのディレクトリのことを「ワークツリー」と呼びます。

ちなみにこのsample1.txt、実際はコレがUnity内での1作業かもしれませんし、cocos2d-xでの作業かもしれません。一旦わかりやすいようにtxtで例を示していますが、.csファイルや.xlsxでも何でもOKです。

インデックスへの登録

さて、作業も一旦保存したことだしGitへ記録しよう!っとなる前に、
1つやることがあります。それがこの「インデックス」への登録です。

Gitは各々ワークツリーで作業した内容を直接記録するのではなく、このインデックスへ登録したものだけを実際Gitへコミットし記録していくのです。

これは便利なことで、ワークツリーで色んなファイルを編集していて作業途中なものも多い場合があります。その中で作業が完了したファイルだけをインデックスへ登録し、Git上へ上げて保存することができるのです。

まだあまりイメージがわかないかもしれませんが、実際複数人で作業をする時などにその効果を実感出来るかと思います。
今はそういうものなんだということで覚えてしまいましょう。
そこで今のGitリポジトリの状態を確認するために以下のコマンドを入力してみてください。

どうでしょう、すると以下のようなメッセージが出たと思います。

これは今masterブランチにいて、まだ何もGit管理してない状態ということを示しています。
いきなりmasterブランチとか出てきて何じゃい、て感じかもしれませんがgit initをしたことでmasterと呼ばれるブランチが既に作成されているのです。今はそういうものだと覚えちゃってください。

では内容を見て行ってみましょう。
Untracked files:の部分で、sample1.txtを”git add”を使って登録してくださいと言われています。

この git status コマンドはcd、lsといったLinux/Unixでのコマンドとは別の、Gitをインストールしたことで使えるようになるGitコマンドです。これも結構沢山あるのですが、ここで出てくるやつはしっかり全部覚えていきましょう。

では早速このsample1.txtをインデックスに登録するために以下のコマンドを入力してみてください。

はい、この git add もGitコマンドですね。これでワークツリーにあるまだUntrackedな状態のファイルをインデックスへ登録することが出来ました。 実際git add …を入力しても特にメッセージが出なかったと思いますが、実際それで成功しているはずなので再び git status と入力してみましょう。

おお、なんか表示が変わりましたぞ。
Untracked files:がChanges to be committed:に変わってますね。
これでsample1.txtが無事インデックスに登録されました。

リポジトリにコミット

さて、インデックスに登録したファイルだけが実際Gitリポジトリへ記録されるんでしたよね。
では早速それをやってみましょう。以下のコマンドを入力してみてください。

git commit コマンド、これがリポジトリへ記録するための「コミット」と呼ばれるコマンドで、インデックスに登録してあるファイル等を全てリポジトリに記録します。”-m”はオプションと呼ばれるもので、メッセージ付きでコミットするという意味で”first commit.”となっている部分がそれに該当します。

Gitリポジトリへコミットする際、必ずメッセージを打ち込む決まりになっています。
空で git commit とした場合失敗します。
とりあえず git commit -m “なにかしらコミットメッセージ” とここでは覚えちゃってください。

さて、ちょっと説明が長くなりましたが以下のようなメッセージが表示されたかと思います。

sample1.txtが無事リポジトリにコミットされたようです。
状態を確認するために git status を打ってましょう。

これはクリーンなワークツリーの状態になっており、Git管理化においたファイル等に変更はないよ、ということです。

どうでしょう、ここまでが最も簡単なGitでの一連の流れになります。
図で示すと以下のような流れだったかと思います。

スクリーンショット 2016-03-22 11.54.10

1ファイルなのでちょっと微妙ですが、ワークツリーでsample1.txtを作り、それをインデックスへ登録するために git add し、最後リポジトリへ記録するのに git commit をする、そんな流れでした。
ちょっと1記事が異様に長くなってしまうので、一旦今回はここまでにしておきます。
どうでしょうか。ここでやった内容をまとめると以下です。

  • git initで初期化。Gitリポジトリの作成。
  • ワークツリーで作業(sample1.txtを作成)
  • git add でその内容をインデックスへ登録
  • git commit でリポジトリへコミットし記録完了

そんなに難しいところもなく、Gitの簡単な流れを行えたと思います。
実際お仕事で使うとなると、あいだあいだに色んなコマンドを打ったりやることは一杯あるのですが、根幹となる基本作業はコレだけです。
(一旦pushなどを除いたローカルでの作業は…ネ)

編集(変更) -> git add -> git commit -> 再び編集(変更) -> git add -> ….

これの繰り返しです。
試しに今回ここでやった内容を練習するために、適当なディレクトリを作って色々練習してみてください。
最初はよくインデックスに登録する前にリポジトリへ記録しようとして、「あれ!?コミット出来ないぞこのファイル…どうなってんだ」となったりするものです。

次回もう少し色々なことをやってみようと思います。
ドラゴンボール風にいうと、もうちっとだけ続くぞい!

ではでは、また次回よろしくお願いします〜

スポンサーリンク
336 x 280 レクタングル(大)
336 x 280 レクタングル(大)