第2章. 履歴と追跡単位(ファイル/行)
履歴とは、作業がどのように変わってきたかを並べた時間表です。 「何が変わったのか」をあとから見返せるようにしてくれます。
Git はふつう ファイル単位で変更を見て、 その中では 行単位で何が違うのかを見せてくれます。
なぜ行単位で見られるのでしょうか。テキストファイルは、人が読める文字を 1 行ずつ並べて保存しているからです。 ここでいうテキストファイルとは、メモ帳で開いたときに人が読めるファイルのことです。 だから「3 行目が変わった」といった比較がしやすくなります。
逆に、画像ファイルのように人がすぐ行単位で読めない形式は、 「このファイル全体が変わったか」を中心に見ることが多くなります。
図 2-1. 同じファイルの行が変わっていく履歴
同じファイルでも何度も修正すると、行単位の変更が時間順に積み重なります。 コミットの円をクリックすると、そのコミットのファイルごとのDiffをすぐに確認できます。
行単位で見る感覚
[Assets/Prefabs/UI/LoginButton.prefab - 変更前]
m_Name: LoginButton
m_AnchoredPosition: {x: 0, y: -96}
m_Text: Start
[Assets/Prefabs/UI/LoginButton.prefab - 変更後]
m_Name: LoginButton
m_AnchoredPosition: {x: 0, y: -96}
m_Text: Enter Game
このように 3 行目が変わると、Git はその変化の起きた場所を中心に記録します。 だから後で「誰が、いつ、どの行を変えたのか」を追いやすくなります。