Git Bashをちょっと使ってみる(3)
一気にプログラマーになったような気がします。
今回はいよいよ、Git BashでGitのコマンドを使い、Gitでバージョン管理をやっていきます。うむ、そこまではまだ無理か。Gitの基礎を学びます。まあ、こんなところ。
Gitコマンドを使う
Git Bashを起動して、
Yojiroo Hirosaki@pc-name MINGW64 ~
$ help
と助けを呼んでみましょう。
ずらずらっと出ます。これが前回やったUnixのコマンドです。
表示されるのをちょっと呼んでみると、シェル・コマンドって書いてあります。まあ、Unixコマンドと同じようなもんでしょう。そういう割り切りと大切です。
表示されるのをちょっと呼んでみると、シェル・コマンドって書いてあります。まあ、Unixコマンドと同じようなもんでしょう。そういう割り切りと大切です。
さて、Unixのコマンドがわからなくなったら、helpとすればいいことがわかりました。でも、見にくくてとても使う気がしませんね。慣れたら大丈夫なんでしょうか。でも慣れるときって、来るのでしょうか?
次に、
Yojiroo Hirosaki@pc-name MINGW64 ~
$ git help
とgitをつけてhelpを打ち込んでみます。
やはり、ずらずらっと出ます。う~む、これも見にくいですがこんなもんなんでしょう。
1行目に、
usage: git [--version] ...
というのがあります。
これは、gitのバージョンを知るには、
git --version
と打ち込みなさいということです。「--」はオプションということらしいです。
やってみましょう。
Yojiroo Hirosaki@pc-name MINGW64 ~
$ git --version
すると、
git version 2.24.1.windows.2
と知らせてくれます。忠実な子です。
Gitコマンドについてこれくらいにして、さっさとGitによるバージョン管理を初めてみましょう。
Gitの設定
まずは、Gitの設定です。といってもたいしたことはありません。
Yojiroo Hirosaki@pc-name MINGW64 ~
$ git config --global user.name "Yojiroo Hirosaki"
Yojiroo Hirosaki@pc-name MINGW64 ~
$ git config --global user.email yojiroo@example.com
として、名前とメールアドレスを設定します。
これは、ファイルを変更してGitで保存するとき、誰が変更したのかをGitで記録するためのものです。一人で自分のパソコンでGitをしているうちはいらないはずですが、みんなで作業するようになると必要になります。「この変更やったの誰だ?」「知らね」となってケンカになりますからね。それに、これだけは設定しておかないとGitが使えません。
configとはconfigurationの略で、環境設定のことです。
--globalというオプションは、ユーザー「Yojiroo Hirosaki」の中にあるすべてのGitの作業フォルダに適用される設定にするよ、ということです。
さて、名前とメールを打ち込んだのですが、それはどこに記録されているのでしょうか。
エクスプローラでユーザーフォルダ「Yojiroo Hirosaki」を開いて、上の「表示タブ」をクリック。上の右のほうにある「隠しファイル」をチェックすると、「.gitconfig」というドットで始まるファイルが見えてきます。これを開いてみましょう。
すべてのプログラム > Windowsアクセサリ > メモ帳
を起動して、「.gitconfig」をドラッグアンドドロップすれば、中身が表示されます。
[user]
name = Yojiroo Hirosaki
email = jojiroo@example.com
こんなふうに記録されています。黒い画面でやったことは、これです。あまりたいしたことはやっていませんね。
とりあえず、これで設定は終わりです。
Gitのバージョン管理の仕組み
バージョン管理を始める前に、どんなふうな手順でバージョン管理を行うのかを概観しておきます。
作業ディレクトリ → ステージ → リポジトリ
ややこしい用語が出てきました。
用語が統一されていないようで、作業ディレクトリはワーキング・ツリーとも、ワーキング・ディレクトリとも言います。ステージは、ステージング・エリアとか、インデックスとか呼ばれることもあります。リポジトリは、ローカル・リポジトリとも言います。
「作業ディレクトリ」とは、前回作った「git-test」のようなフォルダのことです。まずはここにファイルを入れて作業していきます。
一区切りついたところで、作業中のファイルを保存するために「ステージ」に上げます。全部のファイルを上げてもいいし、また一部だけでもかまいません。
こんなふうに一度ステージに上げてから、みんな一緒に「リポジトリ」に送ります。リポジトリは貯蔵庫のことです。まあ、さまざまなバージョンが蓄えられている倉庫と考えればいいでしょう。
普通に考えれば、
つまり、「は~い、一区切りついた人はステージに上がって。一緒にリポジトリに行くからね」という感じです。
僕はスタートレックの転送装置を思い出しました。「転送される人は台に上がって。みんなでリポジトリ星に行くからね」と。余計わかりにくい?
用語が統一されていないようで、作業ディレクトリはワーキング・ツリーとも、ワーキング・ディレクトリとも言います。ステージは、ステージング・エリアとか、インデックスとか呼ばれることもあります。リポジトリは、ローカル・リポジトリとも言います。
「作業ディレクトリ」とは、前回作った「git-test」のようなフォルダのことです。まずはここにファイルを入れて作業していきます。
一区切りついたところで、作業中のファイルを保存するために「ステージ」に上げます。全部のファイルを上げてもいいし、また一部だけでもかまいません。
こんなふうに一度ステージに上げてから、みんな一緒に「リポジトリ」に送ります。リポジトリは貯蔵庫のことです。まあ、さまざまなバージョンが蓄えられている倉庫と考えればいいでしょう。
普通に考えれば、
作業ディレクトリ → リポジトリでいいような気がします。でも、作業ディレクトリにはリポジトリに入れたくないものや、まだ書きかけのものもあります。一区切りついたものだけを入れておくことができるようにする仕組みです。
つまり、「は~い、一区切りついた人はステージに上がって。一緒にリポジトリに行くからね」という感じです。
僕はスタートレックの転送装置を思い出しました。「転送される人は台に上がって。みんなでリポジトリ星に行くからね」と。余計わかりにくい?
まとめ
Gitコマンドも使ってみたし(あれで?)、設定も終わったし(あれだけ?)、仕組みもわかったし(ほんとに?)、次はいよいよ、実際にGitを使ってバージョン管理です。