裏紙に書く程度の内容

コミットしてみる - Git入門

Git入門の第2回目です。

前回でとりあえず”Gitとは何ぞや”というのわかったかと思います。

しかし、「まだ全然ピンと来ない」って人でも大丈夫。こういうのはとにかくやってみた方が早いです。

というわけで、とりあえず使ってみましょう。

今回はリポジトリの作成からコミットまでやってみます。

目次はこちら

インストール

まずインストールなんですが・・・。

これはインストーラをダウンロードしてそれを使ってインストールするだけです。

Windowsの場合は以下からインストーラをダウンロード。

Git for Windows

Macの場合はこちら。

git-osx-installer

特に説明もいらないと思いますので、割愛!

初期設定

インストールしたら起動してみましょう。

Windowsのインストーラでインストールした場合はGUI版も使えますが、ここではCUI版(コマンドラインで操作する)の方の説明になります。

コマンドでの操作は不慣れな人は敷居が高く感じるかもしれませんが、落ち着いてやってみればどうということはありません。

また、CUIの方がより細かな操作ができますので、覚えるなら断然CUI版をおススメします。

それでは作業開始!

まず、”Git Bash”を起動します。

起動画面

起動すると真っ黒い画面が表示されます。ここにコマンドを打って操作するわけですね。

まず最初にやらなければいけないのはユーザ設定。

git config --global user.name 'YOUR NAME'
git config --global user.email 'hoge@example.com'

Git Bash に上記コマンドを入力してエンター。
'YOUR NAME'は使う人の名前、'hoge@example.com'は使う人のメールアドレスを入力してください。

これで準備完了!

リポジトリの作成

準備が出来たところでさっそく「リポジトリ」を作ってみましょう。

リポジトリとは?

・・・とその前に、「リポジトリ」ってなんでしょう?

リポジトリ (英: repository) とは、情報工学において、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連するデータの一元的な貯蔵庫を意味する

出典:[リポジトリ - Wikipedia]

要は「貯蔵庫」です。Gitではこの「リポジトリ」を管理することになります。

また、Gitでは「リモートリポジトリ」「ローカルリポジトリ」の2種類を扱うことになります。

詳細な説明は別途記事にしますが、ざっくり説明すると

  • リモートリポジトリ : 複数人で共有するリポジトリ。
  • ローカルリポジトリ : 個人用。各自のPC内にあるリポジトリ。

といった感じです。現時点ではリモートリポジトリがないため、ローカルリポジトリの説明となります。

作ってみる

実際にリポジトリを作ってみます。

以下のコマンドを実行します。

mkdir testdir
cd testdir
git init

mkdircdはgitのコマンドではありません。これは作業用ディレクトリを作成してそこに入っているだけです。

既に作業用ディレクトリを作成済みの場合はcdで目的のディレクトリへ移動するだけでいいでしょう。

そして、gitのコマンドはgit init。たったこれだけでリポジトリが準備ができます。

実際に実行すると、Initialized empty ・・・と結果が表示され、下の画像のように現在のディレクトリパスの後ろに(master)と表示されるようになります。

実行結果

これは現在masterブランチで作業していることを意味します。(”ブランチ”については別途。)

ともかくこれでリポジトリは作成できました。念のため確認してみましょう。

リポジトリの現在の状態を確認するにはgit statusというコマンドを使います。

$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

すると、上記のようにメッセージが表示されると思います。

「nothing to commit」つまり、「コミットするものがありません」って状態です。

今のところリポジトリを作っただけで何も作業していないので当然ですね。

英語を読もう

ちょっと話がそれます。

コマンドを扱うのが嫌い・苦手という方は、どうもこのメッセージを読もうとしないようです。

英語でズラズラとメッセージが出てくるので、瞬間的に「読めん!」と判断してしまうようです。

しかし、冷静になって読んでみると意外と読めたりします。とりあえず上記git statusなら中学生でも読めるメッセージになっているのです。

こういったコマンドや、プログラミング時に出てくるエラーメッセージの英語とかは実は簡単な文のことが多いです。

仮にわからなくても、google先生がいるので翻訳してもらえばOK。

そうして読む努力をしていくうちに「苦手感」はなくなっていくはずです。
メッセージをきちんと読もうとする姿勢が、上達への近道となりますので、面倒くさがらないで読むようにしましょう。

コミットしてみる

それでは実際に”作業”をしてみます。

作業用ディレクトリ(ここでは”testdir”)配下に任意のファイルを作成します。

とりあえず例として、”test.txt”というファイルを作っておきます。

ファイルの中身は適当なメッセージで。

ファイルが出来たらもう一度git statusを実行してみましょう。

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       test.txt
nothing added to commit but untracked files present (use "git add" to track)

さっきとメッセージが変わり、Untracked files:というのが追加され、test.txtは赤字で表示されているかと思います。

「”test.txt”は”Untracked(トラックされていない)”ファイルだよ」ってことのようですね。

“test.txt”はgitの管理下に追加されていない状態です。

gitの管理下に置くには、git addコマンドを使用します。上記メッセージにも書いてありますね。

実際にやってみましょう。

$ git add test.txt
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   test.txt
#

git add後、もう一度git statusを実行しました。
今度はChanges to be committed:,new file: test.txtとなりましたね。

訳は「コミットされる変更:」「新規ファイル: test.txt」といったところでしょうか。どうやらコミットの準備が整ったようです。

それではコミットしてみましょう。

$ git commit -m 'initial commit'
[master (root-commit) 881b432] initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
$ git status
# On branch master
nothing to commit, working directory clean

コマンドはgit commitを使います。-m 'initial commit'部分はオプション。コミットメッセージを書き込んでいます。

実行してみると、1 file changed, 1 insertion(+)create mode 100644 test.txtと表示されました。
どうやらうまくいったようです。

git statusで確認してみるとnothing to commit, working directory cleanと表示されました。

test.txtはコミットしたので、「他にはコミットされるファイルはありません、ディレクトリはクリーンな状態です。」ということのようですね。

コミットメッセージ?

gitではコミットの際、必ずメッセージを記載する必要があります。

コミットの変更内容・理由等を明記するものです。

後で作業履歴を見返す際には非常に重宝するため、できるだけ明確・かつ簡潔に書くのが望ましいです。

本来は複数行にわたりメッセージを記載するのですが、上記例の-mオプションでは1行目の書き込みだけになります。

複数行のコミットメッセージの記載方法はまた今度。

ログを見てみる

ここで一旦ログを見てみましょう。git logコマンドを実行します。

$ git log
commit 881b43274b99b368bbbad5f6bcf21e30396a6ee0
Author: hoge <hoge@example.com>
Date:   Mon Mar 13 14:13:14 2017 +0900

    initial commit

commitの後ろに表示されている、何やら長ったらしい文字の羅列。これはコミットの”id”です。まあ、自動的につけられた「名前」と理解しておいてOKです。

続いてAuthor。編集者ですね。最初にgit configで設定した名前とメアドが表示されていると思います。
これで「誰が」編集したのか明白となりますね。

Dateについては説明の必要もないでしょうが、コミットした日時が記録されています。

そしてinitial commitと表記されています。

これはコミットの際に書き込んだ”コミットメッセージ”です。

ここに編集内容やコミットの理由等が表示されれば履歴を見るときに便利そうですね。


今回はここまでです。

初期設定からコミットまでやってみましたが、特に難しいことはなかったかと思います。

git statusgit commitは頻繁に使うコマンドのためぜひ覚えておきましょう。

というか、これから頻繁に使うので自然と覚えてしまうと思いますが。

広告
Index