[技術ライティング講座]講座の振り返り#7
ホッタです。
2024年1月から、ノンプロ研で技術ライティング講座を受講しています。3月1日(金)に第7回目の講義がありました。その内容について印象に残ったことや学びになったことを書いていきます。
今回のテーマは「Gitによるバージョン管理」です。だいぶテクニカルな内容になってきました。
講座第7回のTogetterまとめはこちら↓↓↓(今回めっちゃポストがんばりました)
CLIとコマンド
今日はGitについて学んでいきます。Gitの操作はCLI(Command Line Interface)といって、コマンドをテキストで書いていくスタイルになります。
あれですね、ノンプログラマーの敵「黒い画面」です。ちなみに私は黒い画面嫌いじゃないです。マウスが使えない=マウスを使わずに操作ができるので、慣れると便利なんですよね。
GitのCLIを開くには、開きたいフォルダをエクスプローラーで開いて、右クリックメニューで「Git Bash Here」を選択すればOKです。
Windows11では右クリックしただけでは出てこないので、下の図のように「その他のオプションを確認」をクリックする必要があります。
また、Shift押しながら右クリックしても「その他のオプションを確認」をクリックした後と同じメニューが出てきます。
次に、CLIのコマンドについて少し説明がありました。ディレクトリの種類と、簡単なコマンドについて学びました。
ディレクトリの種類は以下の通りです。
以下はGit Bash CLIでよく使うコマンドです。
ls [ディレクトリ名]:ディレクトリのファイル・フォルダ一覧を表示
cd [ディレクトリ名]:カレントディレクトリを変更
clear:画面表示を消去する
このあと習うGitのコマンド以外で使うコマンドはこれくらいです。
Gitとは
次はGitについて学びました。Gitとは、バージョン管理ツールです。バージョンとは変更前と区別するための表記およびそのもので、「版」ともいいます。旧版とか新版とか、第1版・第2版みたいな言い方もしますね。
みなさん普段の業務で使うExcelやPowerPointのようなファイルのバージョン管理はどうしていますか?
私は大抵ファイル名に日付や番号を入れて管理していますが、Gitを使うとファイル名で管理する必要がなくなります。また、ファイル単体ではなくプロジェクト(フォルダ)全体にまたがる複数のファイルをまとめて管理できるというメリットもあります。
Gitでできることは主に以下の通りです。このうちリモートを使うものは次回に説明があるそうです。
Gitのバージョン管理の基本的な流れは、変更履歴を記録(コミット)してリポジトリという場所に格納します。履歴はブランチという別の場所に分岐可能で、分岐したブランチで作業した後にブランチを統合(マージ)できます。
具体的な手順は次の項で学んでいきます。
Gitによるバージョン管理
いよいよ実際にGitを使った作業をやっていきます。
簡単に手順をおさらいします。
リポジトリ作成
git init
コミット(イニシャルコミット)
git add .
git commit
コミットメッセージを記入
ブランチを作成して切り替え
git branch [BranchName]
git checkout BranchName
プロジェクトを更新
変更内容をコミット
git add .
git commit
コミットメッセージを記入
デフォルト(main)ブランチに切り替え
git checkout main
変更をマージ
git merge BranchName
こんな流れです。コミットは「履歴を記録」です。
慣れるまでは、コマンドを打つたびに「git status」や「get log」で、状態や履歴を確認しながら進めるのがよさそうです。
ちなみに、ブランチを切り替えるコマンドは、「git switch」というコマンドでも切り替えできるそうです。厳密には別のコマンドであり一部オプションが違いますが、ブランチ切り替えに関しては同じように動作するとのことです。
あと、コミットしたときに記入する「コミットメッセージ」の書き方も習いました。
このコミットメッセージは、1行目にタイトル、3行目に詳細コメントを書きます。では2行目は何?という疑問が湧いてきました。質問したところ、TAおおさきさんが以下の記事を探してきてくれました。
この記事によると、コミットメッセージの初めの空行までがタイトル、その後が詳細ということです。つまり2行目はタイトルと詳細の間の区切りを表すということです。よって、2行目に何か書いてしまうと、3行目までがタイトルとして認識されてしまうので、注意しましょう。
最後に、講座スライドについていたgitでよく使うコマンド一覧を載せておきます。慣れるまでは手元に置いておきたいですね。
まとめ
今回はバージョン管理ツールGitについて学びました。私はGitHub ActionsでPythonを定期実行しており、そのGitHubにコードを上げる時にGitを使っています。今まではよく意味もわからずにおまじないみたいにコマンド打ってましたが、今回の講座を受けたことで、Gitの動作についてだいぶ理解できました。
こういうツールは使わないと覚えないので、ガンガン使っていきたいです。私はGitHubとセットで使うものだと思い込んでいましたが、Git自体はバージョン管理ツールなので普段ローカルでコードや文章を書く時でも使っていいんですよね。
次回はそのGitHubについて学ぶ予定です。GitHubも実はよく仕組みを分からずに使っている感じなので、楽しみです。
今回は以上です。最後まで読んでいただき、ありがとうございました。
おまけ
3/5にGitの補講「Gitと仲良しハンズオン」をHirocomさんがやってくれました。講座でやった内容+αもあり、勉強になりました。内容はXのポスト連投してます。
最後まで読んで頂き、ありがとうございました。