Git

Git入門#03(コミットしてみよう)

cocomaru
cocomaru
今回はGitを実際に使ってファイルを保存してみようか。
hiromin
hiromin
いよいよだぁ!!
cocomaru
cocomaru
その前にGitでファイルを保存するまでの基本的な流れについて説明するよ!
hiromin
hiromin
ファイルを保存するまでの流れって?
cocomaru
cocomaru
Gitでは前に説明したリポジトリの他に、作業ディレクトリステージング・エリアという3つのエリアがあるんだ。
hiromin
hiromin
えっと、リポジトリは確かデータを保存する貯蔵庫みたいなものだったよね?
cocomaru
cocomaru
お?よく覚えてたね〜!?
作業ディレクトリっていうのは名前の通りでファイルを編集したりする作業場所みたいなものかな。
hiromin
hiromin
じゃあステージング・エリアは?
cocomaru
cocomaru
ステージング・エリアというのはファイルをリポジトリに保存する前に変更内容を一時的に登録しておく場所だよ。
hiromin
hiromin
うぅ…難しい…ステージング・エリアってなんで必要なの?
cocomaru
cocomaru
複数ファイルを編集してて保存する時ってさ、「全部じゃなくて一部だけ保存したい。」ってケースがあると思うんだけど、ステージング・エリアに置いて保存すれば、ステージング・エリアに置いておいたファイルのみがリポジトリへ保存されるんだ。
hiromin
hiromin
ん〜わかったような、わからないような…。
cocomaru
cocomaru
実際に使ってみた方が理解が進むこともあるから、とりあえずやってみよう!
hiromin
hiromin
は〜い!

ステージする

こんにちは、cocomaruです。

前回、説明しましたリポジトリに対して、ファイルを保存することをコミットすると言います。
まずはファイルをGitで保存するために、ステージング・エリアにファイルを置いてみましょう。

せっかくなので前に作成したリポジトリを使用することにしましょう。
※削除した方は前回の記事から作成までしてもらえればと思います。

ではターミナルを開いて、「index.html」ファイルを作ってください。
※Windowsの方1※Macの方2

# 作業用ディレクトリへ移動 
$ cd ~/Desktop/WorkDir
# index.htmlを作成
$ touch index.html

ファイルを作成したら、中身は以下のように書いてください。

~/Desktop/WorkDir/index.html
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>Git入門</title>
</head>
<body>
<p>テキスト1</p>
</body>
</html>

git add

ファイルの作成までは終わりましたでしょうか?
次はステージング・エリアにファイルを置いてみましょう!!

ステージングへファイルを置くコマンドは「git add ファイル」になります。

それでは早速、以下のコマンドを実行ですると…

$ git add index.html
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached ..." to unstage)

    new file:   index.html

「git add」コマンドを実行後、「git status」コマンドでステージング・エリアにファイルが置かれている事を確認できましたでしょうか?

new file: index.html」と表示されていればOKです。

git status

いきなり登場した「git status」コマンドですが、これはGitでバージョン管理されたディレクトリの現在の状況を確認するためのコマンドです。

詳しい説明は今後していきますが、今回はそのようなものだと思ってください。

コミットする

ステージング・エリアに置く事ができたら、いよいよコミットしていきましょう!

git commit

コミットするコマンドは「git commit」になります。
では実行してみましょう!

$ git commit

…どうですか?コミットされましたか?ん??「なんか変な画面がでてきた」って?
それってもしかして、こんな感じの画面ではないですか?

これは「vim」というエディタが開いた状態の画面です。
厳密には違いますが、vimはGitでログを記録するために標準で使われるエディタになります。

Gitで使用するエディタを、普段使っているエディタに切り替える事はできますが、
通常使われる事が多いvimを使って説明していきます。
※どうしても切り替えたいという方は、コチラのサイトが参考になると思いますので設定してみてください。

操作方法が少し独特なので、初めて触る方は慣れないかもしれませんが、
以下の手順でログの保存まで進めてみましょう。

  1. i」キーを押す。 ※これで文字の入力ができるようになる。
  2. index.htmlを追加」と入力する。
  3. esc」キーを押す。
  4. :w」と入力しEnter。 ※ファイルの保存
  5. :q」と入力しEnter。 ※ファイルを閉じる

「:w」と「:q」は「:wq」と同時に実行することができます。

下のような結果が表示されたらコミットは完了です!

$ git commit                                                                                                                                                              
[master (root-commit) c55d3c9] index.htmlを追加
 1 file changed, 9 insertions(+)
 create mode 100644 index.html

またコミットメッセージについてですが、今回は新規に作成したので上のようなシンプルなメッセージでしたが、基本は「なぜ変更したか」を書くようにしましょう。

Gitでは

  • 「いつ(when)」
  • 「誰が(who)」
  • 「何を(what)」

を自動で管理してくれますが、変更した理由は本人しか知らないからです。

私の場合、変更内容の要点と理由を1行で簡潔に書くように気をつけてますが、
どうしても長くなりそうな時は

1:変更した理由の要約
※空行
2:変更した理由の詳細

と書くようにしてます。

また一言くらいのメッセージであれば、以下のオプションをつけてコミットすることもできます。

# [-m]オプションでメッセージを指定してコミット 
$ git commit -m "index.htmlを追加"                                                                                                                                                              

長くなりそうならvimで、短いメッセージなら上記のように使い分けてコミットをしてみましょう!

  • Gitには作業ディレクトリ、ステージング・エリア、リポジトリの3のエリアがある
  • コミットのメッセージには理由を書こう

さいごに

以上でコミットの説明は終わりますが、みなさん、お疲れ様でした!!

次回は今回でてきた変更状況を確認するコマンドの「git status」について説明していきます!

Git入門#04(変更状況を確認しよう) 状態の変更状況を確認してみよう こんにちは、cocomaruです。 今回は開発の現場において、よく使われるコマンドであ...

  1. スタートメニュー→すべてのアプリ→Git→Git Bash
  2. アプリーケーション→ユーティリティ→ターミナル