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

なかなか進められないけど地道にアップします。


LAB 7 ステージに乗せてコミットする
Gitにおいて分離されたステージに乗せる操作は,これまで自分でソースの管理をする必要があった状況から抜け出すための哲学にのっとっている.
自分の作業用ディレクトリに変更を加え続けることができ,またソース管理に関わりたいときには,gitによって細かいコミットの実際の作業記録における変更を残しておける.
たとえば,a.rb, b.rb, c.rbという3つのファイルを変更した時について考えよう.全ての変更をコミットしたいが,a.rb とb.rb は一つのコミットで,c.rb は最初の二つのファイルと論理的につながらないので別のコミットにすべきである.
こうすればよい.


git add a.rb
git add b.rb
git commit -m "Changes for a and b"

git add c.rb
git commit -m "UNrelated change to c"


ステージに上げる操作とコミットの操作を分けることで,コミットに加える変更を調整することができるようになる.



LAB 8 変更をコミットする
目標:リポジトリに変更をコミットする方法を学ぶ

1.変更をコミットする
OK.ステージングについてはもう十分だろう.ステージングした変更をリポジトリにコミットしてみよう.
以前最初のバージョンのhello.rbファイルをリポジトリにコミットするためにgit commitを使った時,-mフラグを含めてコマンドラインからコメントを追加した,そのcommitコマンドによってコミットに対話的にコメントを編集することができる.それじゃあやってみよう.
コマンドラインで-mフラグを省くと,gitはエディタを選択するように求めてくる.エディタは以下のリストから選ばれる.(優先度順)
環境変数のGIT_EDITOR
・core.editorの設定
環境変数のVISUAL
環境変数のEDITOR
// 自分の環境では環境変数で設定するのがうまくいかなかったので
// git config --global core.editor "vi"
エディタの設定をしたらcommitで状態を見てみよう.
git commit
設定したエディタが出てくるので,最初の行にUsing ARGVと書き加える.

Using ARGV
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# modified: hello.rb
#

[master 8888ecf] Using ARGV
1 files changed, 1 insertions(+), 1 deletions(-)

2.状態チェックする
最後にもう一度状態をチェックしてみよう.
git status
すると,出力はこうなるはず.

# On branch master
nothing to commit (working directory clean)

作業用ディレクトリはクリーンで,続行できる状態だ.