そこで本書では、設定ファイルを編集して「gitを無効に」しておきました。
今のプロジェクトでGitを積極的に使おうという場合一つ問題があります。今機能しているGitの設定では「Angular」のライブラリ自体を書き直すための設定になっています。わたしたちに必要なのは「src/app」フォルダのファイルで自分たちが編集したファイルの管理です。
そこで、Gitの設定ファイルを作り直しましょう。
Gitの設定ファイルは、フォルダ「senkyo_app」の「隠しフォルダ」である「.git」というフォルダに入っています。これをフォルダごと消してしまいます。
コミットなどファイルの入出力をともなう操作には、ユーザー名とメールアドレスの登録が必要です。ユーザー名は何でも構いませんが、普通は今のログインユーザーにします。メールアドレスは、今実践しているように自分のパソコンだけでGitを使っている場合でも必要です。重要な個人情報を送受信しないウェブメールのアドレスなどがいいでしょう。リスト1では、ユーザー名supportdocと、このウェブサイトの質問用公開メールアドレスを登録しています。(なお、リスト1及び下のリスト2での「$」は、Linuxの端末で一般ユーザーに表示される「プロンプト」を表します。
$ git config --global user.name supportdoc $ git config --global user.email web@supportdoc.net
さてコミットするには、まず「ステージング」します。「コミットするものとして選ぶ」という意味です。ステージングしたりしなかったりする操作についてはあとで実践しましょう。今は全部ステージングします。
それには図8のように,「changes」と表示されているあたりにマウスカーソルをおいてください。「全てステージング」を示す「+」と「全ての変更を破棄」を示す「反時計回り矢印」のアイコンが表示されますから、「+」のほうをクリックしてください。TypeScriptでソースファイルを書くと、実行時にコンパイルされてJavaScriptファイルが生成しますが、ソース管理の画面にJavaScriptは登録されません。これはAngularプロジェクトの中に「.gitignore」という隠しファイルがあるからです。ここに「.js」ファイルは変更文として登録しないように書かれています。図5の中に図10のようなファイルがありますので知りたい方は確認してください。
$ git log図13のように、コミット時の説明とともに、ログが表示されます。
保存した内容を取り消すには、いろいろな段階での方法があります。今保存した内容を、前回保存した直後にまで戻すのはステージング前の段階で、ひとつずつ行うには各ファイル名のところで(図15)、一気に行うには「CHANGES」のところで(図16)カーソルを出現させます。
VSCodeのウィンドウの左下側を見てください。「master」と書いてあります。これは、修正の中心となっていく内容を表します。「ブランチ」とは「枝」のことなので、「master」は(意味は違いますが)「幹」に相当します。
(1)ブランチの作成:たとえば、第3章までの作業を行ったところで、これをバックアップするブランチ「chap3」を作りましょう。ブランチを作成するには、VSCodeで「コマンドパレット」と呼ばれるコマンドの一覧を表示させます。Linuxであれば「Shift+Ctrl+P」を押してください。
エディタ上部に小さなウィンドウが現れます。これが「コマンド・パレット」です。
最初に「>」という記号があるのに注意してください、それが「コマンド」のしるしです。もしパレット上に「>」がなければ自分で打ってしまっても同じことです。そこに「git branch」と入力します。「git b」あたりで、すでに「create branch(分岐を作成)」という表示がなされるでしょう。
(2)ブランチにコミット:ブランチを作成すると、作業環境がその「ブランチ」になります。ウィンドウの左下側をみると、「master」が「chap3」になっています。
これに何の意味があるかは、具体的な作業で知ることになります。そこで、今この状態から修正することなく、このまま「変更点」として「ソース管理」画面に上がっているものを全てコミットしてください。これが「第3章のバックアップ」に相当します。
(3)masterにチェックアウト:第4章以降の作業の続行は「master」に環境を戻して(チェックアウト)から行います。チェックアウトするためには、今ウィンドウの左下に表示されている図21のブランチ名の部分をクリックしてください。上部にまたパレットが現れ、今作成してあるブランチの一覧が表示されます。
図21のように見ていたウィンドウの左下が図18のように「master」に戻ったら、第4章の内容を実践します。第4章を全て実践したところでブランチ「chap4」を作成しコミットして第4章の内容をバックアップします。再び「master」に戻って第5章を続けます。
このようにすれば、ファイルブラウザ上で何度もフォルダを他の場所にコピーすることなくバックアップが取れます。「master」では常に最新の事項へと進みつつ、各段階を「ブランチ」として残しておくというのが自然な方針です。しかしめんどくさいといえばめんどくさいですね。Gitを使う練習くらいに思ってやってみてください。