Gitを使ってみよう
Gitは、過去のデータに戻ったり、派生してデータを修正できたりします。
Gitを使うことでいつでもプログラムの更新を記録しておくことができ、
コミット(更新を保存)をすることによって途中までの記録を残すことができます。
一昨日の記録に戻りたいとなったときには、その記録に戻ることも可能です。
Gitを使い共通のファイルのバージョンを管理することによってそれぞれのローカルのパソコンに独立した環境を作ることができ、またその共通ファイルの更新を簡単にできます。
そうすることによって、お互いを干渉することなく開発を進めていくことができます。
まとめると…
- 過去どんな変更をしたか確認できます
- 過去の状態にいつでも戻せます
- 他の人とコードを共有できます
環境構築
macOS:
まずHomebrewをインストールします。
https://brew.sh/index_ja
上記リンクの「インストール」のコードをコピーしてターミナルで実行して下さい。
パスワードを求められたらPCを立ち上げる際に入力するパスワードを入力して下さい。(ただこの時入力出来ていても画面には出力されてないので注意して下さい。)
Homebrewのインストールが終わったらGitインストールします。
brew install git
スタートメニューで Ubuntu と入力すると Ubuntu が出てくるので、それをクリックして起動後、次のコマンドをコマンドラインで実行。
apt install git
もしエラーが出たら、sudoをつけて管理者権限でやりましょう。
sudo apt install git
でインストールできます。インストールできたら、正しくダウンロード出来ているか確認しましょう。
git --version
初期設定
Gitでユーザー名と、メールアドレスを入力し設定しましょう。
(Githubで登録するユーザー名、メールアドレスにしておくことをお勧めします。)
ユーザー名
git config --global user.name "ユーザー名"
メールアドレス
git config --global user.email "メールアドレス"
git config --get user.name
git config --get user.email
リポジトリとは
リポジトリとは変更した過去データの保存場所です。
mkdirコマンド, cdコマンド
cdコマンドでバージョン管理をしたいディレクトリまで移動します。
ディレクトリがまだない場合はmkdirコマンドでディレクトリを作成しましょう。
mkdir C:/Users/ユーザー名/ディレクトリ名
~を使うと、どこにいてもユーザー名からの指定ができます。
mkdir ~/ディレクトリ名
以下cdコマンドで移動してからディレクトリを作成するのも良いです。
mkdir ディレクトリ名
次に作ったディレクトリへcdコマンドで移動しましょう。
cd C:/Users/ユーザー名/ディレクトリ名
~を使う場合は以下になります。
cd ~/ディレクトリ名
initコマンド
移動したらinitコマンドでリポジトリを新規作成します。
git init
そうするとそのディレクトリに「.git」という隠しフォルダが新規で作られます。この中でリポジトリが構成されています。
再度初期化したいときも、このinitコマンドを使います。
以下のように返ってきたら成功です。
Initialized empty Git repository in /home/ユーザー名/intro-git/.git/ //Ubuntu
Initialized empty Git repository in /Users/ユーザー名/intro-git/.git/ //Mac
lsコマンドで中を確認しても何も表示されないと思います。この.gitファイルは隠しファイルと呼ばれ通常は変更をする事が一切ないファイルの事を指します。このような隠しファイルなども表示するには
ls -a
と実行する必要があります。
addコマンド
バージョン管理の対象にすることを「ステージング」といいます。
ステージングしたものだけバージョン管理するということです。
まずGitHub に上げたいファイルをステージングエリアに上げます。
「ステージングエリア」とは、コミットしたいファイルの一時仮置場のようなものです。ここにコミットしたいファイルを追加して、それらをまとめてコミットする、という流れになります。ステージングエリアへの追加は一度に行う必要はないので、順次コミットしたいファイルを追加していって、最後にまとめてコミット、ということができます。
試しにindex.htmlファイルを作成しましょう。
touch index.html
addコマンドで、バージョン管理するファイルを指定します。
git add index.html
git add ステージングするファイル名
指定例、オプション
git add *.html // すべてのhtmlファイル
git add . // 今いるディレクトリ以下の、変更されたすべてのファイル、ディレクトリ
git add -u // 全ディレクトリのバージョン管理されている、ファイル
git add -A // 全ディレクトリの変更されたファイル、新規追加、削除したファイル
よくわからなかったら “git add -A” としましょう。
commitコマンド
コミットとはファイルの変更履歴の 1 つ 1 つ
またそのコミットを作ることを「コミットする」などと言います。
変更したデータをリポジトリに保存するにはcommitコマンドをつかいます。
git commit -m "最初のコミットです"
git commit -m '最初のコミットです'
シングルクオート(’)とダブルクオート(”)のどちらを使用しても構いません。
git commit -m "変更した内容のメモ"
このようにステージングとコミットを繰り返してGitを使っていきます。
練習
main.cssも追加してみましょう。
touch main.css
VSCodeを立ち上げて下さい。
code .
index.htmlで!を押した後にTabを押してください。
そうすると以下の文が追加されるので追加したら保存を押して下さい。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
index.htmlの隣にはM、main.cssの隣にはUと表示されています。
- M:最後のコミットから変更がある(modifiedの略)
- U:新規作成されステージングに追加されていない(untrackedの略)
MやUが映らない方でwslを使用している方はVSCodeにWSLという拡張機能を入れてください。
この状態でコミットまでしてみましょう。
git add -A
状態を確認:git status
Gitの状態を確認するため新しいコマンドgit statusを実行してみて下さい。
git status
実行すると以下のようなメッセージが返ってきます。
On branch master
Change to be commited:
(use "git restore --staged <file>..." to unstage)
modified: index.html
new file: main.css
ここでは次のコミットで何が記録されるかを表示してます。上のメッセージではindex.htmlが修正され、main.cssが新規作成されることを示しています。
これらを確認して自分が想定している変更の内容である事が確認出来たらコミットしましょう。
git commit -m "2回目のコミットです"
そうすると以下のメッセージが返ってきます。
[master a51e0ce] 2回目のコミットです
2 files changed, 11 insertions(+)
create mode 100644 main.css
これは2つのファイルが変更され、11行の追記が行われ、main.cssが作成されたことを表示しています。
リポジトリの変更を確認:git log
git logを実行することでコミットの履歴を確認することが出来ます。
$ git log