メインコンテンツまでスキップ

Git

Git はソースコードの分散型バージョン管理システムです

ざっくり言うと

  • 分散型 = 複数の場所(人)でそれぞれが管理する
  • バージョン管理システム = セーブポイントがある

みたいなイメージを持っておいてください

例としては、ゲームの共用アカウントを複数人が管理しながら遊んでるみたいな感じです

インストール

公式ダウンロードページ から Git をインストールしましょう

自分の環境に Git が入っているかどうかはwhich gitのようにwhichコマンドを使って探したり、git --versionなどと打ってエラーが出るか見てみたりして確認してみましょう

ちなみに、git --versionと打ったときに ↓ のようにバージョンが出れば OK です

git-version

※WSL で Ubuntu の人はsudo apt install gitとかでインストールできます(パスワードが求められるので入力する必要あり)

よくわからない方は Slack の#random2023 チャンネルや DM で質問、もしくは手を挙げて一緒に環境構築しましょう

セットアップ

Git を初めて使う人は自分のユーザーネーム、E メールを Git に設定しましょう(後々 GitHub を使うときとかに必要)
以下の 2 つのコマンドをそれぞれmatumotoとなっているところやs1280136@u-aizu.ac.jpとなっているところなどを自分のものに変更して設定してみましょう

git config --global user.name "matumoto"
git config --global user.email "s1280136@u-aizu.ac.jp"

※E メールは学内のメールでなく、個人のメールでも大丈夫です

確認として、以下のコマンドを実行した際に先程入力した内容が表示されていれば OK です

git config --global -l

使い方

使い方の説明は以下のような手順で進めていきます

  • git initで Git のリポジトリ1を作成する
  • ファイルをそのリポジトリ内で作成する
  • git addしてファイルを一時保存(ステージングに上げる)
  • git commitして一時保存してたファイル達を保存(コミットツリーに追加)
  • git logで保存履歴を確認(コミットツリーを見る)

git initで Git のリポジトリを作成する

自分の PC のどこかにlearn-gitという名前でディレクトリを作ってください

例.

cd ここに作業用のディレクトリ
mkdir learn-git
cd learn-git

その後、git initを行い、リポジトリを作成してください

git init

git initを行った場所には.gitというディレクトリが生成され、その中に Git リポジトリとしての情報が格納されています
(.git の中身をいじることは基本的にないです)

ファイルをそのリポジトリ内で作成する

では、作成した Git リポジトリ内でファイルを作成してみましょう

ITP1-1-A.cという名前のファイルを作成し、以下の内容を記述してください

#include<stdio.h>

int main(){

printf("Hello World\n");

return 0;
}

ファイル構造は以下のような感じです

learn-git
└── ITP1-1-A.c

git addしてファイルを一時保存(ステージングに上げる)

git add ここにファイル名としてファイルを指定することでファイルを一時保存しておくことができます

「ステージング」を知りたい方へ

それでは先程作成したITP1-1-A.cを以下のコマンドでgit addしてみましょう

git add ITP1-1-A.c

git commitして一時保存してたファイル達を保存(コミットツリーに追加)

git commitとすることでgit addで一時保存してたファイルを保存することができます

それでは、先程git addしたファイル達をコミットメッセージ付きでコミットしてみましょう

git commit -m "ITP1-1-A.cを追加した"

git commitだけでもコミットはできますが、それがどんなものなのかメッセージがついていないと非常に分かりづらいのでコミットメッセージは必ず付けるようにしましょう

git logで保存履歴を確認(コミットツリーを見る)

git logでコミット履歴を見ることができます

先程のコミットを確認してみましょう

git log

ちなみに、コミットをさらにいくつかしていくと以下のようなログになります

git-log

演習

ここまで出来た人は自分でもいくつかファイルを作ったりしてgitコマンドの動作を確認してみましょう!

git log --graphや、git statusなど、よく使われる便利なコマンドやオプションについて調べてみるのも楽しいと思います

(個人的には git add -i を初めて知ったとき便利すぎて驚きました)


  1. Git で管理するディレクトリ(もしくはそのプロジェクト)のことをリポジトリといいます