fuuengineerのブログ

エンジニアになります。

$ git configの重要性

私は最初のGitの初期設定を疎かにしてしまい、学習を進めていく上で途中で詰まってしまいました。ここで基本的なGitの初期設定についてコマンドを用いて解説します。

$ git config --global user.name "githubに登録したユーザーネーム"
$ git config --global user.email githubに登録したメールアドレス
$ git config --global core.editor "これから使うエディタ名 --wait"

ここでのconfigというのは「設定」という意味です。--globalは「Gitはその後、そのシステム上で行う全ての操作に対して常にこの情報を使う」ということです。

私が疎かにしたのは3番目のcore.editorを設定していなかったことです。何を思ったか、この設定がされていなかったのです。このことに気づいたのは学習を進めていく中で、ブランチを切り替える方法について学習している時でした。ブランチを2つ作り、その片方に新しいファイルを作って保存しました。その変更を$ git addでステージに追加し、$ git commitで変更を記録しました。ほっとしてもう一方のブランチに切り替え、$ lsで中身を確認するとその中に先程の新しく作ったファイルがあるのです。「ブランチって同時に並行に開発できる便利なツールなのに、これじゃ2つのブランチがあっても意味ないじゃん」と思いました。その時のコマンドは以下の通りです。

$ git checkout feature
Switched to branch 'feature'
$ git branch
* feature
  main
$ git status
On branch feature
Untracked files:
  (use "git add <file>..." to include in what will be committed)
    feature.html

nothing added to commit but untracked files present (use "git add" to track)
$ git add .
$ git commit
$ ls
feature.html    home.html   index.html  secret.txt
$ git checkout main
A   feature.html
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
$ git branch
  feature
* main
$ ls
feature.html    home.html   index.html  secret.txt

まさかと思い、$ rmを実行し、feature.htmlファイルを消して再度挑戦しました。やはり同じ結果でした。根本的にエディタが機能していないのではないかと勘ぐりました。そこでGitのエディタを確認してみるとやはり設定されてませんでした。ここで初期設定の重要性を改めて感じました。こういうミスは珍しいとは思いますが、初期設定の重要さを知れた良い機会だと思ってこれからも学習していこうと思います。

補足 : 初期設定の確認方法

$ git config user.name
$ git config user.email
$ git config core.editor