あなたはGitについてどの程度知っているでしょうか。Gitという名前だけを知っている方もいるでしょう。しかし、あまり触ってこなかった方であれば、Gitについて詳しく知らないですよね。
- Gitについてよく知らない
- Gitで何ができるの?
- Gitの基本的な使い方が知りたい
今回は、このような疑問や悩みを解決する記事を書きました。「Gitの特徴」「Gitでできること」「Gitの基本的な使い方」を理解すれば、あなたもGitを上手く活用することができます。
Gitとは
GItは、プログラムのソースコードなどの変更履歴などを管理する「分散型バージョン管理システム」です。Gitを利用することで、ソースコードに対して変更があった部分を複数人で共有し、効率的に開発を行えます。
ソースコード・画像などのファイルの変更履歴(バージョン)を管理するシステムを略して分散型バージョン管理システムといいます。
GitHubとは
Gitと聞いて「GitHubとは何が違うの?」と思われる方もいるでしょう。GitHubは、Gitを利用して、コードなどの様々なプログラムのバージョンを保存・公開できるウェブサービスです。GitHubは、GitHub社によって運営されていて誰でも無料で利用することができます。
Gitは「バージョン管理システム」でGitHubは、「Gitを利用したウェブサービス」として覚えておきましょう。
Gitの特徴とは
ファイル管理ができる
ファイルの管理で困っていたことはないでしょうか。重要なコードを追加する場合、事前に編集前のファイルに日付を付けて保存しておいて、編集前のファイルをコピーして新たにファイルを編集するなど面倒な作業を行っていた方もいるでしょう。
しかしあまりにもファイルが多すぎるとどれが最新のファイルなのかわからなくなりますよね。そのため、Gitを使ってファイル管理する必要があります。
「リモート」で開発者同士がファイルの変更履歴共有
ファイル共有を行う際、ファイルをチームの誰かにメール・サーバーなどで送って管理している方もいるかもしれません。また各自でファイル変更履歴をメモしていることもあるでしょう。しかし、この方法では、どこを変更したのが具体的にわからず変更場所を見つけることが困難です。
Gitならチームでファイル変更履歴も共有することができるため、上記のような問題も解決することができます。変更履歴が表示されていれば、すぐに確認できますよね。
変更したファイルを把握・過去のファイルに戻す
ファイルを変更したあと「問題が起こったから前のファイルに戻したい」と思った場合、Gitの変更履歴から過去のファイルに戻すことができます。そのため、安心してファイル変更が行えます。コードでエラー修正が出来なくなった場合にも便利ですよね。
ローカルで管理できる
自分のパソコンなどでバージョンを管理する場合は、Gitを利用することが出来ます。基本的にローカルを利用してファイル管理を行い、ファイル共有を行いたい時にリモートに繋げます。
ソースコード・Excel・画像などのファイルがGitで管理できる
Gitは、ソースコードなどエンジニア用のものと思われる方も多いですが、実は画像やExcelなどのファイルも管理できます。
Gitの仕組み
Gitでは、共同開発の流れとしては以下の通りになります。
- ローカルリポジトリを作成
- リポジトリを新規作成(init)
- ファイルをローカルリポジトリに登録(add/commit)
- GitHubでリモートリポジトリの作成
- リモートリポジトリにローカルリポジトリの内容を反映(push)
「リポジトリって何?」と思う方もいるでしょう。リポジトリとは、ファイルやディレクトリの状態を記録する場所です。またローカルリポジトリは、自分のマシン上に作られるリポジトリとして使われます。リモートリポジトリは、自分以外のリポジトリのことを意味します。ネットワーク上に存在して、複数人でも管理を行うことが可能のリポジトリです。(GitHubなど)
では、共同開発の流れを具体的に見ていきましょう。
ローカルリポジトリを作成
まずローカル環境でローカルリポジトリを作成しましょう。ローカルリポジトリ用のフォルダを作成します。今回はターミナルでデスクトップ上に”git_test”というフォルダを作成します。
ターミナルでデスクトップ上に移動します。
$ cd ~/Desktop
デスクトップ上に”git_test”というフォルダを作成します。
$ mkdir git_test
次に管理するファイルを作成します。こちらのファイルは、”index.html”として作成します。次にリポジトリを作成します。
リポジトリを新規作成(init)
イニット(init)の使用方法
Gitを使う準備としては、[git init]を行う必要があります。initを行うとリポジトリを新規作成することが可能です。「init」は「Intialize」の略のことで「初期化」を意味しています。先ほど作成したフォルダ(git_test)に移動してから[git init]を行いましょう。
$ cd git_test
$ git init
Intialized empty Git respository in ...
$
git_testのフォルダを確認すると.gitというフォルダを確認することが可能です。
ファイルをローカルリポジトリに登録(add/commit)
アド(add)の使用方法
ローカルリポジトリに登録する場合、共有したいファイルを選択する必要があります。そこでファイル選択をするためにアド(add)を入力します。ファイルを選択するには、[git add ファイル名]を入力すればファイルを選択することができます。
$ git add index.html
コミット(commit)の使用方法
addでファイルを選択したら次に必要な作業は、選択したファイルを記録する作業です。ファイルを記録するためには、コミット(commit)を実行します。コミットは、[git commit -m “メッセージ”]で入力します。メッセージの部分では、コミットの内容がわかるようにしておく必要があります。またこのメッセージのことを「コミットメッセージ」と呼びます。
$ git commit -m "Create index.html"
では、コミットできているのか変更履歴を表示して確認してみましょう。[git log]を入力するとコミットID・コミットユーザー名・メールアドレス・時間・コミットメッセージなどの情報が確認できます。
$ git log
GitHubでリモートリポジトリの作成
リモートリポジトリは、GitHubで作成します。GitHubのサイトに登録していない方は登録から始めていきましょう。
参考:GitHub |
GitHubにログインしたら緑の「New reponsitory」のボタンをクリックします。「Repository name」でリポジトリの名前・「Description」でリポジトリ内容を入力してから「Create Respository」をクリックすると登録完了です。
登録完了後のページにリポジトリのURLが表示されるのでコピーしましょう。
リモートリポジトリにローカルリポジトリの内容を反映(push)
プッシュ(push)の使用方法
次にプッシュ(push)で共有を行うのですが、共有を行うためには、リモートリポジトリが必要です。そのため、まずはリモートリポジトリを登録します。登録は、[git remote add リモート名 URL]で行うことが可能です。
$ git remote add origin URL
リモートリポジトリを用意すれば、ファイルをアップロードするためにプッシュを行います。プッシュの行い方は以下の通りです。プッシュを行う場合は、get push リモート名 masterとすることで登録したリモートにアップロードできます。ユーザーネームとパスワードが聞かれるので入力すると送信が実行されます。
$ git push origin master
最後にGitHub上で送信したリポジトリが登録されているか確認します。今回作成した”index.html”が表示されていたら成功です。
その他のコマンド
リモートリポジトリからファイルをダウンロードする場合
プル(pull)の使用方法
リモートからファイルをダウンロードする場合は、プル(pull)を行います。プルは[git pull リモート名 master]でダウンロードが可能です。
$ git pull origin master
変更したファイル名を表示したい場合
ステータス(status)の使用方法
変更したファイルは後から判断できなければいけませんよね。そこで便利なのがステータス(status)です。ステータスは、変更したファイルのファイル名を表示することができます。[git status]と入力することで自分が変更したファイル名を表示できます。
$ git status
・
・
・
modified: index.html
ファイルの変更内容を表示させる
ディフ(diff)の使用方法
「ファイルの変更内容までみたい」という場合は、ディフ(diff)を使います。[git diff]と入力すれば変更内容がみれます。+〜の部分から変更内容が表示されます。変更した部分を戻したい時などに便利です。
$ git diff
・
・
・
+ .title{
+ color:#ffffff;
+ }
リモートリポジトリの内容をローカルにコピーしたい場合
クローンの使用方法
クローンは、リモートリポジトリの内容をローカルにコピーしたい場合に使えます。使い方は[git clone (クローンしたいリポジトリ) (クローン先のディレクトリ)]のようにクローンしたいリポジトリとクローン先のディレクトリを選択して使用します。
$ git clone clone-repository repository-directry
まとめ
Gitでは、プログラムのソースコードなどの変更履歴などが管理できます。このような仕組みを「分散型バージョン管理システム」と呼びます。Gitの基本的な利用方法としては、ローカルリポジトリにファイル登録してからリモートリポジトリにファイルを共有を行うことが可能です。GitHub上では、リモートリポジトリに格納されたファイルをチーム同士で共有できます。