こんにちは、Shinyaです
今回はGitの本当に初めの導入部分だけ一緒にやっていきましょう
詳しく説明して難しく感じるくらいなら、大まかに話してざっくり掴む方がいいと思ってるので、簡潔に覚えることを最小限に説明していきます!
Gitとは
ファイルの変更内容を管理するツール
プログラミング言語ではない
Gitは難しく感じて当然
Gitを始めた人は誰しも難しく感じます
その理由は
- 用途が分からない
- 機能が多く便利な分、コマンドも多い
- 概念が多く想像力がいる
- 結局使っていかないと理解できない
などがあると感じます
Gitでできること
いくつかありますが、一番大事なのは
ファイルの変更履歴の保存
ができること
今回は変更履歴の保存について本当に手始めのとこだけ見ていきます
ここまでのまとめ
Gitはファイルの変更内容を管理するツールであり、
メインの機能はファイル変更履歴の保存
変更履歴の保存
では、変更履歴の保存の仕方を見ていきましょう
変更履歴の保存の手順には3つのコマンドを使います
変更履歴保存するためのコマンド3つ
- git init
- git add
- git commit
Gitインストール
まずGitをインストール方法を紹介しておきます
Progateの記事にGitのインストール方法がOS別にまとめられています
めちゃくちゃ丁寧で信頼性も高いのでインストールまだの人はぜひ参考にしてください
【Windows】Gitの環境構築をしよう!
【Mac】Gitの環境構築をしよう!
フォルダをGit管理対象にする(git init)
まずGitで管理したいフォルダに移動します
(=現在地をGit管理したいフォルダにする)
例:デスクトップにあるtestというフォルダをGit管理したい場合↓
C:\Users\owner\Desktop\test>
移動できたらgit init
コマンドで現在いるフォルダをGit管理対象にできます
> git init
例:testフォルダをGit管理対象にする
C:\Users\owner\Desktop\test>git init
Initialized empty Git repository in C:/Users/owner/Desktop/test/.git/
git init
で「Gitの管理対象にする」と言いましたが、実際にはこの操作でローカルリポジトリを作っています

ローカルリポジトリとは変更履歴を保存しておくフォルダです
git init
した後にはフォルダ内に .git というフォルダができています
例:testフォルダでローカルリポジトリを作った場合

これがローカルリポジトリです
Gitコマンドで変更履歴を保存する(git add&git commit)
ローカルリポジトリができれば、下準備はOKです!
次は変更履歴を保存しましょう
具体的には、作成・編集したファイル内容をローカルリポジトリに保存するだけです
ただし、保存するには2つのステップを踏む必要があります
その際1ステップにつき1コマンド、つまり計2つのGitコマンドを使います
1.git add
一つ目のコマンドはgit add
です
git add
を使うと作成・編集した任意のファイルをインデックスに登録することができます
インデックスを簡単に解説します
インデックスは目次という意味ですが、Gitにおけるインデックスもその通りで、これからローカルリポジトリに保存するファイルのリストを記録する場所のことを指します

git add
コマンドでは、作成・編集したファイルを全て、または一部分だけインデックスに登録することができます
ファイル全てを登録↓
> git add .
任意のファイルを登録↓
> git add [ファイル名]
例:sample.txtを作成・編集してgit add
する
testフォルダ(Git管理対象)でsample.txtを作成し、「あいうえお」と入力


git status
コマンドでインデックスの状態を確認してみる
まだgit add
でインデックスに登録していないので、sample.txtがuntracked(未追跡)と言われている
C:\Users\owner\Desktop\test>git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
sample.txt
nothing added to commit but untracked files present (use "git add" to track)
git add
でインデックスに登録して、git status
で状態を確認する
sample.txtがChanges to be comitted(これからコミットする変更内容=インデックス)にnew file(新しいファイル)として登録されていることが分かる
C:\Users\owner\Desktop\test>git add sample.txt
C:\Users\owner\Desktop\test>git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: sample.txt
2.git commit
履歴を保存したいファイルをインデックスに登録できたら、後はローカルリポジトリに保存するだけです
この操作にはgit commit
を使います

git commitには編集内容を示すメッセージをつけるのが一般的です
付け方は以下の通りです
> git commit -m "[メッセージ]"
git commit
で保存した履歴ひとつひとつをコミットと呼びます
ローカルリポジトリにはコミットがどんどん溜まっていくので、メッセージをつけることで内容が一目で分かるようにします
例:git add
でインデックスに登録したsample.txtをgit commit
する
メッセージに"add_some_sentence_to_sample"と内容を記してgit commit
する
C:\Users\owner\Desktop\test>git commit -m "add_some_sentence_to_sample"
[master (root-commit) 37e300e] add_some_sentence_to_sample
1 file changed, 1 insertion(+)
create mode 100644 sample.txt
git log
コマンドでコミットを確認するとメッセージ付きでコミットが保存されていることが分かる
C:\Users\owner\Desktop\test>git log
commit 37e300e7fd36c4359778b589d09960fb2d0d3ae7 (HEAD -> master)
Author: shinya
Date: Sun Apr 5 12:02:25 2020 +0900
add_some_sentence_to_sample
ちなみにコミットにはIDが振られており、このコミットのIDは37e300e7fd36c4359778b589d09960fb2d0d3ae7
sample.txtに追加で編集を加えてもう一度コミットまでしてみる

C:\Users\owner\Desktop\test>git add .
C:\Users\owner\Desktop\test>git commit -m "add_another_sentence_to_sample"
[master 6936f86] add_another_sentence_to_sample
1 file changed, 2 insertions(+), 1 deletion(-)
add_another_sentence_to_sampleというメッセージ付きのコミットが保存できた
git log
で確認してみると、二つ目のコミット(ID:6936f86e28484840d79057e7027b3a31cc2c6804)も保存されていることが分かる
C:\Users\owner\Desktop\test>git log
commit 6936f86e28484840d79057e7027b3a31cc2c6804 (HEAD -> master)
Author: shinya
Date: Sun Apr 5 12:16:20 2020 +0900
add_another_sentence_to_sample
commit 37e300e7fd36c4359778b589d09960fb2d0d3ae7
Author: shinya
Date: Sun Apr 5 12:02:25 2020 +0900
add_some_sentence_to_sample
変更履歴の保存の仕方まとめ
- git initでローカルリポジトリ作成しgit管理対象にする
- git addでファイルをインデックスに登録する
- git commitで変更内容をローカルリポジトリに保存する
使わないとメリットが分からないと思いますが、初めの一歩としてはとにかく
Gitはファイルの変更履歴を保存できる
と覚えておいてくださいね
これはGitの序の序の序の口ですが、一番大事なところなので理解できれば非常に大きな進歩です
難しいと思いますが少しずつ理解していきましょう!
それでは、また