Gitハンズオン

HiroCom777です。1月から始まったノンプロ研の技術ライティング講座の講師をしています。

技術ライティング講座の第7回は、「Gitによるバージョン管理」です。デジタルドキュメントの版数管理ツール「Git」について学びました。

Gitとは何か

Gitとは、テキストデータ、プログラムのソースリスト、その他のデジタルデータの変更を管理(バージョン管理)をするためのツールです。実は、過去にGitについて追及していたことがあります。

hirocom777.hatenadiary.org

繰り返して覚える

でも、結局一連のやり取りをやってみないと、Gitに対する理解がは深まらないですよね。 そこで僕がおススメするのは、以下のGitの操作を繰り返して覚えるというものです。

最初の準備

最初に準備をしましょう。

以下、斜体(イタリック)文字はGitBashの入力、それ以外はVScodeによる操作です。

  • VScodeでフォルダーを作成する
  • フォルダーをGitBashで開く
  • ファイル「File_01.md」を作成して保存する
  • git init
  • ls -a
  • git status

これで作業するフォルダーとリポジトリ、ファイルが作成されました。

ファイルのステージングとコミット

上記で作成したリポジトリにファイルを登録します。

  • git add File_01.md
  • git status
  • git commit
  • コミットメッセージファイルをVScodeで編集して保存
  • git status
  • git log

「git add File_01.md」でファイルをステージングします。「git commit」でリポジトリに登録、「git status」と「git log」で状態を確認します。

ブランチの作成と切り替え

mainブランチで作業するのはリスクが伴います。作業用のブランチを作って切り替えます。

  • git branch
  • git branch sub
  • git branch
  • git checkout sub
  • git status
  • git log

これで作業用ブランチ「sub」で作業する準備ができました。

ファイルを編集してコミット

作業用ブランチでファイルを編集して、変更内容をコミットしてみます。

  • 「File_01.md」をVScodeで編集して保存
  • git status
  • git add File_01.md
  • git status
  • git commit
  • コミットメッセージファイルをVScodeで編集して保存
  • git status
  • git log
  • git log --oneline

ファイルを追加してコミット、コミット間の差を見る

新しくファイルを追加して、さらにコミットしてみます。

  • ファイル「File_02.md」を追加作成する
  • ls -a
  • git add .
  • git commit
  • コミットメッセージファイルをVScodeで編集して保存
  • git log --oneline
  • git diff コミットID_1 コミットID_2

「git diff」で2つのリポジトリを比較します。コミット_IDは、「git log --oneline」でリポジトリの先頭に表示される7文字を指定します。

mainブランチに切り替えてマージ

mainブランチに切り替えて、subブランチの変更内容をmainブランチに反映させます。

  • git checkout main
  • git merge sub
  • git status
  • git log --oneline

コミットIDを使って移動してみる

コミットIDを使って、任意のリポジトリに移動してコミットの内容を確認してみます。

  • git reset --hard コミットID
  • git reset --hard ORIG_HEAD

確認後は、必ず元に戻しましょう。

ブランチを切って確認する

mainブランチ上で過去のコミットと行き来することは、あまりおススメしません。確認用のブランチを切って、確認しましょう。

  • git branch temp
  • git branch
  • git checkout temp
  • git branch
  • git reset --hard コミットID

確認終了後、確認用ブランチの削除

確認後はmainブランチに戻って、確認用のブランチは削除しておきます。

  • git checkout main
  • git branch
  • git branch -D temp
  • git branch

繰り返し練習しましょう

いかがでしょうか。上記の内容を繰り返しながら、ファイル、リポジトリの内容を確認していくと、Gitについて理解が深まっていくと思います。

それではまた!!