Git

Gitを使ったら世界が広がった!SourceTreeでGit管理する方法

悩む人
悩む人

Gitってコマンドでしょ?難しそう・・でも、バージョン管理は必要だし勉強したい。

 

このような悩みをお持ちの方へ、

結論から言うと、「わかばちゃんと学ぶGit使い方入門」を読んで下さい。

 


難しいことは省き、超初心者がGitを無理なく学ぶには最高の入門書だと思っています。

 

本書を読めばOKですが、当記事でも簡単に解説していきます。

そもそもGitって何?なんで必要なの?

Gitとは?

gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。

gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。

※引用 Wikipedia

長ったらしく書いてありますが、ざっくり言うと「バージョン管理」をするためのシステムのことです。「バックアップ」と考えるとわかりやすいかもしれません。

 

htmlファイルやcssファイルに大きな変更を加えるとき、元に戻せなくなったら困るからバックアップを取りますよね?

例えば、

20190801_index.html

20190801_style.css

みたいな感じで、手動でファイルを作成していました。

これには問題点があり、

  • 手動でバックアップする手間
  • 複数の人と共有できない
  • 戻りたい時点のファイルを探すのが大変
  • 元に戻せなかったり・・

 

これを解決してくれるのがGit。

  • 細かい変更ごとの履歴が管理できる
  • 過去の状態にいつでも戻せる
  • チームで共有できる

Gitを使うと、「いつ、誰が、どの部分を修正したのか」履歴を見れば一目瞭然です。

しかも、Git用にファイルを増やす必要もないので、フォルダがスッキリするのも助かります。

細かい変更ごとのバックアップを取れるので、いつでも戻りたい時点に戻れるというメリットがあります。

 

SourceTreeでGit管理

Git管理するには、コマンドラインの画面でコードを打つものだと思っていましたが、ツールを使えば簡単に操作が可能です。

SourceTreeを使えば、ツール上でクリックしたりするだけでGit管理ができてしまいます。

 

SourceTreeのダウンロード

まずは、SourceTreeをダウンロードしましょう。

 

SourceTreeをダウンロードすると、Gitもダウンロードされます。

インストーラーが立ち上がりますので、手順に沿ってインストールを進めていきましょう。

 

途中、「Githubのアカウントと連動するか?」と聞いてきますが、後々のことを考えて、アカウント登録をしておいた方がいいですね。

GitHub

 

 

SourceTreeでGit管理する流れ

SourceTreeのインストールが完了しました。

Git管理する基本的な手順としては以下の通りです。

  1. リポジトリを作る
  2. コミットする
  3. チェックアウトでコミットを移動

単純にバージョン管理するなら、手順は3行程だけ!

では、実際にGit管理してみましょう。

 

リポジトリを作る

過去の状態を記録できるようにするには、「リポジトリ」を作る必要があります。

リポジトリ (英: repository) とは、情報工学において、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連するデータの一元的な貯蔵庫を意味する。日本語でレポジトリと表記される場合もある。一種のデータベースであり、ソフトウェア開発および保守における各工程の様々な情報を一元管理する。

※引用 Wikipedia

 

バージョン管理されてファイルは、このリポジトリに圧縮されて貯蔵されています。

自分のパソコンにあるリポジトリはローカルリポジトリ、GitHubなどで複数人と共有するものはリモートリポジトリと呼ばれます。

 

 

SourceTreeのアプリを立ち上げたら、[新規]→[ローカルリポジトリを作成]と進みます。

 

 

保存先のパス指定画面が表示されるので、[…]をクリックして、バージョン管理したい作業フォルダを指定して、わかりやすい名前をつけます。

 

 

ローカルリポジトリに「test」が作られたことがわかります。

 

リポジトリを開くと、このような作業画面になっていて、作業フォルダ内のファイルが表示されています。

 

 

コミットする

簡単にGit管理できるとはいえ、自動的に履歴を保存してくれるわけではありません。

「コミット」して、変更したファイルの状態を記録する必要があります。

 

試しに、testに変更を加えてみます。

今のtestの状態はこんな感じです。

 

試しに、背景画像を変更してみたいと思います。

はい、こんな感じで背景画像を変更しました。

 

 

画面右下に、変更した内容が表示されています。

変更箇所→赤

追記箇所→緑

 

画面左下のステージングに未登録のファイルにチェックを入れます。

すると、ステージング済みのファイルに移動します。

ステージングとは、「このファイルを記録してね」という撮影台のようなイメージです。

 

ステージングされた状態で、「コミット」を押します。

 

コミットの内容を表すメッセージを入力してコミットボタンをクリックします。

 

コミットが記録されているのが確認できます。

これで、リポジトリにバージョン管理の記録である「コミット」が追加されました。

 

 

チェックアウトでコミットを移動

チェックアウトをするために、コミットを少しだけ追加しました。

 

 

こんな感じで編集を進めているとします。

「やっぱり元の状態に戻したい」

こんな時には、チェックアウトすれば、過去のコミットの状態に戻すことができます。

 

 

履歴画面を見ると、「コミットログ」と呼ばれるコミットの履歴が表示されていて、下に行くほど過去のものになっています。

戻りたいコミットをダブルクリックします。(ここでは、背景画像を変更した時点に戻ります)

 

 

「本当によろしいですか?」という怖いメッセージが表示されますが、臆せずOKとします。

 

すると、ダブルクリックしたコミットに[HRAD]というアイコンが表示されます。これは、「今ここが編集中です」という意味。

ちなみに、過去のコミットにチェックアウトしても、同じ要領で最新のコミットに進み直すこともできます。

 

はい、背景画像を変更した時点に戻すことができました。

 

 

まとめ:初心者はとりあえず#わかばちゃんを読むべし

まとめると、チェックアウトすれば、指定した時点のデータを作業ディレクトリにロードすることができます。

RPGのセーブ&ロードのように、ボス戦やイベント前にはセーブしておいて、いつでもロードできるようにしておくってイメージだと思います。

 

Gitに関する技術書はたくさんありますが、もっともわかりやすかったのが「わかばちゃんと学ぶGit使い方入門」です。

僕のような初心者は、この入門書から入って基礎を学び、「GitHub実践入門」とかに進んで行くのが良さそうです。