初めてのコミット
早速Gitでコミットをしてみましょう。
リポジトリを作る
とりあえず作業用に適当なリポジトリを作ってみます。 Windowsを使用している場合はGit Bashを、それ以外を使用している場合は普段使用しているターミナル1を開きましょう。 表示されるのは俗に言う「黒い画面」です。もしかしたらこの黒い画面に恐怖心がある方もいるかも知れませんが、頑張ってください。
上記のスクリーンショットは若干違う表示の場合もあると思いますが、基本的に>
や$
みたいな表示があり、
そこにテキスト(コマンド)を入力することができるようになっているはずです。
コマンドを入力する準備ができたら、リポジトリとして作業するためのディレクトリを作ります。
名前は何でも良いですが、ここではtest
とします。
mkdir test
ディレクトリを作ったらカレントディレクトリをそこに移動します。
cd test
移動したらリポジトリを作ってみましょう。
Gitのコマンドは全てgit <サブコマンド名>
というような形式で、
リポジトリを作る場合はgit init
というコマンドを使用します。
init
は Initialize の略で、初期化といった意味があります。
ITの世界では頻繁に使用される略語のため、覚えておくと良いです。
git init
リポジトリの作成に成功すると、
Initialized empty Git repository in <カレントディレクトリ>/.git/
というメッセージが出力されるはずです。
前回のリポジトリの説明で書いたとおり、リポジトリの実体は.git
というディレクトリです。
git init
はこの.git
ディレクトリを作成するコマンドです。
そのため、ディレクトリにあるファイル・ディレクトリを表示させるls
コマンドを使ってカレントディレクトリの中身を表示すると、.git
が新たに作成されています。
新しくファイルを作ってみる
リポジトリが作成できたら、そこに何かファイルを作ってみましょう。
エクスプローラーやFinderなどのファイルマネージャーから「新規作成」で作ってもいいですし、
VSCodeなどのテキストエディタで作ってもいいですし、
touch
コマンドとリダイレクトを駆使して作っても構いません。とにかく何かしらファイルを作ります。
ただしできる限りテキストファイルにしてください。Wordファイルや画像ファイルはGitで管理するにはあまり都合がよくありません。2
これで作業ディレクトリにファイルが新しく追加されました。
Gitは作業ディレクトリ上での変更をきちんと認識しています。
現在のリポジトリの状態を見るにはgit status
というコマンドを使用します。
一段落目は今どのブランチ(branch)に居るかの説明です。ブランチの解説は後でしますが、おそらくmaster
かmain
になっていると思います。
二段落目はこのリポジトリにはまだコミットがされていないことを表しています。
三段落目が重要です。ここでは作業ディレクトリやステージングエリアにあるファイルの状態を表示しています。
今はUntracked
なファイルとしてtest.txt
が表示されています。
Untracked
なファイルはまだGitで管理されていないファイルのことです。
test.txt
は作成したばかりで、コミット等も一度も行っていないためUntracked
なファイルとなっています。
四段落目ではコミットすべきファイルはないが(ステージングエリアにまだファイルを追加していないため)、Untracked
なファイルが存在していることを表しています。
ステージングエリアにファイルを追加する
リポジトリへコミットするには始めにステージングエリアに変更を追加する必要があります。 ステージングエリアはコミットをするための準備をする場所です。 始めは面倒だと感じるかもしれませんが、作業ディレクトリで加えた複数の変更からコミットした変更を取捨選択するには非常に便利です。
ステージングエリアへの追加はgit add
というコマンドを使用します。
追加という意味でコマンド名がadd
なのでとても分かりやすいですね。
先程作成したtest.txt
を追加するには以下のコマンドを実行します。
git add test.txt
追加したいファイルが複数ある場合はgit add
を複数回実行するか、git add
の後にスペース区切りでファイルを複数指定します。
正しくステージングエリアに変更が追加されたかどうかを見るには例のごとくgit status
を使用します。
先程赤色でUntracked
と表示されていたtest.txt
が新しいファイルとして緑色で表示されています。
緑色の表示はステージングエリアにある変更を表しています。
ここで重要なのが、git add
は コマンド実行時の変更をステージングエリアに追加している ということです。
ステージングエリアへ追加した後に作業ディレクトリに再び変更を加えてもステージングエリアにその変更が伝わることはありません。
再びステージングエリアへ追加する場合はgit add
をもう一度実行してください。
コミットする
いよいよコミットをしてみましょう。
コミットをするには名前の通りgit commit
というコマンドを使用します。
コミットするときには コミットメッセージ というものを必ず含める必要があります。3
コミットメッセージにはそのコミットでは何をしたかを端的に記すと良いです。
以下のコマンドでコミットメッセージを指定してコミットすることが出来ます。
git commit -m '<コミットメッセージ>'
お疲れさまです、初めてのコミットが出来ました!!
きちんとコミットが出来たかを見るにはgit log
コマンドを使用します。
このコマンドはこれまでのコミット履歴を見ることが出来ます。
履歴にはコミットメッセージ、コミットした日時、コミットした人、コミットハッシュがデフォルトで表示されます。
コミットハッシュはそのコミットを指し示すIDのようなもので、コミットごとに異なり、基本的にリポジトリ内で重複することはありません。
開発の流れ
ここでGitを使った開発の流れをおさらいしてみましょう。
git init
でリポジトリを作る- リポジトリ上でプログラミングする(ファイルを作る)
- きりの良いところで
git add
で変更をステージングエリアに追加する git commit
でコミットする- 2に戻る
WSL2ならWindows Terminalなど、macOSならターミナルやiTerm2など、Linuxならそれぞれの端末のことです。
管理できないわけではありませんが、差分表示などの機能を利用できなくなります。
実は必須ではないのですが、基本的にはコミットメッセージがないとエラーになります。