KAIZEN TECH BLOG

「KAIZEN TECH BLOG」は某WEB制作・デジタルマーケティング会社のメンバーが運営する、WEB・デジタル関連の情報発信ブログです。

「サルでもわかる」がわからなかった時に読むGit、SourceTreeの超訳

こんにちは。丼です。

有名な「サルでもわかるGit入門」はすごくわかりやすく、入門者にとって非常に頼りになるサイトですが、それでもわからなかった場合、「自分はサル以下かもしれない」てな感じでプレッシャーがすごい。。

個人的には、本当に本当の初心者でGitの周辺知識がないままだと「サルでもわかるGit入門」はやや難しい。入門編からしてすでに難しい。という課題感もあり、「Gitってなんですか?」って聞かれたときにまずはこのエントリーを読んで、それから「サルでもわかるGit入門」を読んでもらえるとよいのかなと。

Gitとは何か?

ソースコードなどを修正した時に生じる変更履歴を管理するためのツールです。ひとことで「差分管理ツール」や「バージョン管理ツール」と称される事が多いです。

Gitをどのように活用するのか?

差分管理ツールであるGitは「誰がどのファイルの何行目の修正を、どのような目的でいつ実施したのか」といった変更履歴を、非常に細かいレベルでマネジメントが可能です。

従って複数人でソースコードを編集するようなチーム開発で重宝されますし、エンジニアが一人で実装を行なっているケースでも、バージョンの分岐やもしもの時のバックアップを目的にGit環境下で開発を行うケースは珍しくありません。

2018年現在の開発の最前線においても、Gitは開発環境を構築する上でスタンダードとも言えるツールとなっています。

Gitの仕組み

私たちはURLを共有することで全世界の誰とでも同じ情報(ウェブサイト)をシェアできますが、Gitも同様にサーバーにアップロードされたソースコード一式の所在地を示すURLを共有することで、自由にシェアすることが可能です。この仕組みを通じて、チームに新しく入った開発者はソースコードにシームレスにアクセスして開発することができます。 

リモートリポジトリとローカルリポジトリ

Gitではサーバーにアップロードされているソースファイル一式を「リモートリポジトリ」と呼びます。
開発者はソースを編集するために、リモートリポジトリから自身のPCにソースファイル一式をダウンロードします。このダウンロードしたソースファイル一式は「ローカルリポジトリ」と呼びます。
リモートリポジトリには、複数の開発者が日々編集したローカルリポジトリのコードが集約・集積され同期されます。

このブログを読む方の中にはコミット、プッシュ、プル、マージなどの言葉を聞いた事がある方も多いと思いますが、これらの用語はリモートリポジトリとローカルリポジトリの間の変更履歴の同期を行う際の用語です。

SourceTreeとは何か

SourceTreeはオーストラリアに本社を持つソフトウェア企業「アトラシアン」という会社が提供するGitをビジュアル操作できるソフトウェアの名称です。

「Gitをビジュアル操作できる」という表現を用いているのはどういうことなのかというと、Gitは本来コマンドラインツールなので、いわゆる黒い画面で操作するもの。一方で、SourceTreeを使えば、「自分の作業によってローカルリポジトリではどのような差分が発生しているのか」であったり「リモートリポジトリの状況はどうか」といったことが視覚的にわかります。乱暴な言い方をするならば、Gitはゲームの本体で、SourceTreeはゲームのコントローラーのような存在といえます。

それでは、Gitのおおまかな体系とおおまかな仕組みが分かったところで「サルでもわかるGit入門」を読み進めてみてください!
backlog.com