Git Immersion (Git漬け)を訳しながら使い方を覚えてみる.その3

1日2項目じゃ遅いかな?と思いはじめた今日この頃です。

ついでに、英語力も足りない怪しい直訳がダサすぎて死にそうなんて言えない←


LAB 5 変更を加える(作業用ディレクトリ)
http://gitimmersion.com/lab_05.html
目標:作業用ディレクトリの状態の追跡の仕方を学ぶ
1.”Hello, world"プログラムを変更する
HelloWorlsdプログラムを変更してコマンドラインから引数を一つとれるようにする.
変更後のファイルは次のようになる.
vi hello.rb

puts "Hello, #{ARGB.first}!"

2.状態を調べる
作業用ディレクトリの状態を調べてみよう.
git status
出力はこうなる.

# On branch master
# Changed but not updated:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: hello.rb
#
no changes added to commit (use "git add" and/or "git commit -a")

最初に注意しないといけないのはgitはhello.rbが変更されたことを検知していることだ.でもgitはこれらを通知されてはいない.
もう一つ注意すべきは,この状態メッセージは次に何をする必要があるのか示唆してくれる.
もしこれらの変更をリポジトリに加えたいなら,git add コマンドを使えばいい.
そうでなければgit checkout コマンドで変更を破棄することができる.

3.次の段階へ
変更をステージに乗せてみよう.
// stage -> コミット前の緩衝地帯のことらしい.

LAB 6 変更をステージングする
http://gitimmersion.com/lab_06.html
目標:最新のコミットの変更をステージングする方法を学ぶ

1.変更を加える
ではgitに変更を反映させて状態を見てみよう.
git add hello.rb
git status

# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: hello.rb
#

hello.rbファイルの変更が反映された.
これはgitはその変更内容を知っているが,この変更はまだリポジトリに記録されてはいない.
次のコミット操作がリポジトリに変更を加える.

結局変更をコミットしたくない場合には,git reset コマンドを使って変更をステージから削除することができることをstatusコマンドが思い出させてくれている.