【ノンプログラマー向け】はじめてのGitのコミットをして変更履歴を記録する方法


commit

photo credit: Waag | technology & society Waag Society’s projects @ COMMIT 2014 via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。

前回の記事はこちら。

【ノンプログラマー向け】Gitでリモートリポジトリのクローンをする方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、ノンプログラマー向けにGitでリモートリポジトリのクローンをする方法について紹介します。

Gitでリモートリポジトリのクローンをする方法をお伝えしました。

今回はいよいよ作成したリモートリポジトリに変更履歴を記録していきます。

ということで、ノンプログラマー向け、はじめてのGitのコミットをして変更履歴を記録する方法です。

なお、技術書の制作をお題として進めていますので、事前順次や前提についてはこちらの記事からご覧いただければと思います。

では、行ってみましょう!

前回までのおさらい

まずは、これまでのおさらいと現状の整理です。

技術書の執筆の前段階として、その環境づくりをしています。

編集者と執筆者の2名が共同作業ができるように、以下の3つのリポジトリを用意する必要があるとしています。

  1. GitHubに共有・共同作業用のリモートリポジトリを作る
  2. 編集者のローカル環境にローカルリポジトリを作る
  3. 執筆者のローカル環境にローカルリポジトリを作る

前回までで、1と2が完了しています。

次は、3に進みたいところなのですが、変更履歴がない状態で執筆者のローカル環境でクローンを作ると、うまくいかなくなっちゃうので、いったん編集者によって、最初の変更履歴の記録つまりコミットをしておいたほうがいいんですね。

ということで、前回に引き続き、編集者の立場で、ローカルリポジトリにコミットをする方法を見ていきましょう。

コミットの対象ファイルを準備する

リポジトリに変更がないとコミットできないので、まず適当なファイルを準備しましょう。

codeコマンドでVS Codeを立ち上げます。

code .

Command + N などで、新規ファイル「welcome.md」を作成して、以下のように適当に内容を入力します。

VS Codeでファイルを作成する

ここで、VS Codeのタイトルバーを見て、ファイル「welcome.md」がディレクトリ「writing-test」の配下に作られていることを確認しておきましょう。

なお、拡張子「.md」はマークダウン形式のテキストファイルを意味しています。

原稿の執筆はマークダウンを使いますからね。

コミットをして変更履歴を記録する

すでにお伝えしている通り、リポジトリに変更履歴を記録することをコミットといいます。

準備が整いましたので、いよいよコミットをしていきましょう。

git addコマンドによるステージング

ファイルが準備できましたので、現在のディレクトリの状態をコミットしていきます。

ただ、コミットをする前に、コミットの対象となるファイルとフォルダを選別するという手順が必要です。

この操作をステージングといいます。

このシリーズの例では、多くの場合、カレントディレクトリ内のすべてをコミットしてしまえば良いことが多いのですが、時には特定のファイルだけを選別してコミットをしたいというときもあります。

なので、Gitではステージングしたファイルやフォルダだけをコミットするという仕様になっています。

ステージングをするには、以下のgit addコマンドを用います。

git add ファイルまたはフォルダ

今回の例では、カレントディレクトリすべてが対象で良いので、対象を「.」としてOKです。

git add .

git statusコマンドでリポジトリの状態を確認する

では、ちゃんとステージングされたかどうか確認してみましょう。

git statusコマンドを用いることでリポジトリの状態を確認することができます。

git status

実行すると、以下のような表示がされます。

git statusコマンド

ここで「On branch ブランチ名」は現在のブランチ名を表します。

今回の例では「master」というブランチにいることがわかりますが、ブランチについては以降の記事で詳しく解説しますので、今はあまり気にせずでOKです。

「No commits yet」は、コミットがないときに表示されます。

「Changes to be committed:」に続く部分では、ステージングされていてコミットされていないファイルが緑色で表示されます。

git commitコマンドでコミットする

では、ステージングされたファイルをコミットしていきましょう。

git commitコマンドを使います。

git commit

実行すると、VS Codeが反応して「COMMIT_EDITMSG」というタブが開きます。

初期状態で、コミットに関する情報がコメントとして入力されています。先ほどのgit statusで見たのと少し似ていますね。

この1行目にコミットのタイトル、2行目は空けて、3行目以降に詳細を書いていきます。

コミットメッセージを書く

コミットの際に、その変更履歴についてのメッセージを残すことができ、それをコミットメッセージといいます。

これがあることで、どのような状態の変更履歴なのかというのが、後から確認できるというわけです。

今回は以下のようにしました。

  • コミットタイトル: Welcome!
  • コミットの詳細: masterの最初のコミットです

書き終わったら command + S などで保存して、「COMMIT_EDITMSG」タブの「×」アイコンで、タブを閉じます。

すると、ターミナルには以下のようにコミットの結果が表示されます。

Gitによるコミットの結果が表示

コミットの結果を確認する

では、コミットの結果を確認しましょう。

まず、リポジトリの状態は先ほどのgit statusコマンドで確認できますね。

git status

コミットの履歴を確認する場合は、それとは別のgit logコマンドを使うことができます。

git log

それぞれ実行してみます。

それで、まずgit statusコマンドの結果を見てみましょう。

git statusコマンドでリポジトリの状態を確認する

先ほどの、コミット前のものと比べてみていただければと思います。

「nothing to commit, working tree clean」は、すべてがコミットされていて、その後に変更されたファイルがない状態を表しています。

ちなみに、「Your branch is based on ‘origin/master’, but the upstream is gone.」はリモートリポジトリにmasterがないよーという意味です。この例では特に問題はないので、大丈夫です。

続いて、git logの結果を見てみます。

git logコマンドによるコミットのログ

先ほど行ったコミットのユーザー名、メールアドレス、日時、コミットメッセージなどが確認できますね。

まとめ

以上、ノンプログラマー向け、はじめてのGitのコミットをして変更履歴を記録する方法についてお伝えしました。

ステージング、コミット、リポジトリの確認、コミットログの確認とたくさんコマンドをお伝えしましたが、よく使うことになると思いますので、ぜひ覚えておきましょう。

また、ステータスやログなどをはじめ表示される情報にできるだけ目を通して、理解できるようにすると良いです。

英語ですし、ややつっけんどんなメッセージに見えますが、今何をしているのか、どういう状態なのかを知る、強い味方になります。

次回は、ローカルリポジトリの状態をリモートリポジトリに反映する「プッシュ」についてお伝えしていきます。

Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法
ノンプログラマー向け技術同人誌の制作プロジェクトとその制作方法についてシリーズでお伝えしています。今回は、Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法をお伝えします。

どうぞお楽しみに!

連載目次:ノンプロ向けGit・GitHubで技術同人誌を共同制作しよう!

コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動をより魅力的にすべく、メンバーの皆さんと技術同人誌を制作するプロジェクトをスタートしました。このシリーズでは、プロジェクトの概要や、ベースとなる技術情報をお伝えしていきます。
  1. 技術同人誌とそのメリット&ノンプロ的な作り方の手順について
  2. 【ノンプログラマー向け】Gitによるバージョン管理の超基礎知識
  3. Windowsノンプログラマー向けバージョン管理ツールGitをインストールする方法
  4. Windowsノンプログラマー向けバージョン管理ツールGitをの初期設定
  5. Macノンプログラマー向けバージョン管理ツールGitのインストールと初期設定
  6. 【ノンプログラマー向け】はじめてのGitHubとそのサインアップの方法
  7. ノンプログラマー向けGitHubによるリモートリポジトリの作成の方法
  8. 【ノンプログラマー向け】Gitでリモートリポジトリのクローンをする方法
  9. 【ノンプログラマー向け】はじめてのGitのコミットをして変更履歴を記録する方法
  10. Gitではじめてプッシュをしてリモートリポジトリに変更履歴を反映する方法

タイトルとURLをコピーしました