Gitを使ってみて便利に思ったところ
最近、初の後輩が出来て戸惑っているThree Islandsです。
本記事では、システム開発において欠かせないツールの一つであるGitがどういった場面でどの様に活躍するかを書かせていただきます。
入社以前にシステム開発について個人学習していた際、Gitについて「よく目にするが使い方やメリットがいまいちわからない」というイメージがありました。私と同じように思われている方の参考になれば幸いです。
対象読者
- Gitをどう使えばいいか、どういった場面で活躍するかがピンとこない方
Gitとは
ファイルに加えた変更を記録するツールです。各時点でのファイルの状態を保持し、後から確認することが出来ます。また、ファイルの状態を特定の時点まで巻き戻すといった事も出来ます。
Gitを使うと便利な場面
中規模以上の開発をする際に活躍します。
開発期間が長く、ソースコード量が多くなると変更内容の把握が困難になるのでGitでのバージョン管理が重要になります。
具体的な使い方を交えて説明します。
(分かり易くするためにVisual Studio CodeでGUIを用います)
環境
- Windows
- Visual Studio Code
- 拡張機能
- Git History
フォルダ構成
- git_tutorial
- .git
- blog.txt
↑の「blog.txt」に変更を加えていき、gitの挙動を見ていきます。
変更履歴の保存(commit)
「blog.txt」に変更を加えた後、ステージング → コミットと操作することでコミット時点での「blog.txt」の情報が保存されます。保存した情報は後から確認することが出来ます。
↑ 赤線:「blog.txt」に加えた変更 黄色線:コミットメッセージ(コミットの説明文)
コードの差分確認(diff)
Gitリポジトリには、インデックスという保存エリアがあります。
インデックスにはステージングした変更のみが一時的に保存されています。
それぞれの保存エリア間でファイルの状況を比較することで、差分を確認できます。
- ワーキングスペースで加えた変更を確認する
- インデックスと、以前のコミットとの差分を比較したい
といった目的に適しています。
↑ 4行目まで追加した時点でステージングした後、5行目を追加(インデックスに保存されているのは4行目まで)
↑ ワーキングスペースとインデックスでコードを比較(ワーキングスペースのみに存在する5行目が強調表示される)
↑ インデックスと以前のコミットでコードを比較(一度目のコミットの後に追加した行が強調表示される、インデックスにない5行目は表示されない)
変更履歴の確認 (log, blame)
以前のコミットを取得することで、コードの変更履歴を確認することが出来ます。
- 以前のコミットを一覧取得し、コミットメッセージから変更内容を把握する
- 各コミット時点のコードを確認する
- コミットAを、コミットB(Aの一個前のコミット)と比較することで変更内容を確認する
といった目的に適しています。
↑ コミットが一覧表示される
↑ 一度目のコミット時点のコード
↑ 二度目のコミット時点のコード
↑ コミットを比較し、2度目のコミットで加えた変更を取得する。
豆知識:GitHubとは
GithubはMicrosoftが運営する、Gitのホスティングサービスです。
ネットワークを介し、他者とGitリポジトリを共有することが出来ます。
ソースコードの共有やコードレビューなど、システム開発の多くの場面で活躍するため、Gitと同様に多くの開発現場で使用されます。
最後に
以上のように、Gitはコーディングの多くの場面で役立ちます。
中規模以上の開発になるとメリットを感じやすいですが、個人開発などでも活用できる場面は多いと思います。皆さんも是非採用してみてください。