GITとFTPの違い。なぜわざわざGITを使う?初心者向けにやさしく解説。ファイルをサーバーにアップロードする時、FTPを今まで使ってたんだけど、GITを使えってよく聞くよね。FTPとGITって何が違うの? というわけで、FTPとGITの違いって何?GIT(ギ
ファイルをサーバーにアップロードする時、FTPを今まで使ってたんだけど、GITを使えってよく聞くよね。FTPとGITって何が違うの?
GITとFTPの違い。メリットとデメリット
FTPとGITは、どちらもファイルをPCからサーバーにアップロードしたり、
逆にサーバーからPCにダウンロードしたりという作業のために使うわけですが、
根本的にやりとり方法が異なります。
FTPは、シンプルにサーバーと直接ファイルのやり取りをするわけなんですが、
GITの場合は、一度GITHUBというサイトにファイルをアップロードして、そこからダウンロードするというやり取りをするんです。
なんか明らかにGITの方が面倒くさそうだよね。FTPの方がシンプルで簡単じゃん。
使い方で言えばFTPの方が確かに簡単。でもGITを使う事には大きなメリットがあるんだ。
Neby
FTPに対して、GITを使うメリットとは?
一見、回りくどい使い方をしなくてはいけないGITですが、FTPと比べてこんなメリットがあります。
- 大量のファイルでも一瞬でアップロードできる。
- 常にファイルの変更点のバックアップを取ってくれる。
GITは大量のファイルでも一瞬でアップロードできる
仮に1サイト分のファイルを丸ごとPCからサーバーにFTPでアップロードしたら、すごく時間かかるよね?
Neby
うん、それだけで1日終わっちゃうよ。
でもGITなら1分でできるんだ。
Neby
1分?1サイト丸ごとのアップロードが?それはすごいね・・
まず、GITの強みは、一瞬でアップロードやダウンロードができる事なんです。
GITHUBにコピーするのに30秒、GITHUBからまたコピーするのに30秒、計1分でサイトのアップロードが完了しちゃいます。
確かに1ファイルだけちょっとサーバーにアップロードしたいという場合は、FTPの方が簡単ですが、これが100ファイルや1000ファイルのような大量のやり取りとなると、圧倒的にGITの方が便利になってきます。
GITは常にファイルの変更点のバックアップを取ってくれる。
そしてFTPとの最大の違いはここです。
GITはアップロードするたびに、
どのファイルのどこをイジったのかをバックアップしてくれるんです。
上の画像は、GITをPC上で管理するツールであるSourceTreeというソフトの画面です。
例えば、サイトを作っている場合は、HTMLやPHPなどのコードを書きますよね。
そのコードを変更したり、新しいファイルを追加したりすると、
どのファイルをイジったのか?ファイルの何行目をどう変更したのか?
そういった事を事細かにすべてバックアップしてくれるんです。
え、それは便利だね。よくコードを書き間違えた時に、元に戻そうと思ったら、バックアップし忘れてたって事が僕もあるよ。
そうそう。他にもサーバー側のファイルを誤って上書きしちゃったとかあるでしょ?でもGITなら、アップロード過程で自動的にバックアップされるから、上書きしちゃっても、過去のコードを掘り返して、すぐに元通りに戻せるんだ。
Neby
確かにFTPにはそんな機能ないもんね。
他にも、複数のファイルを同時にイジる事もあるでしょ?例えば、最初はindex.phpだけイジってたけど、CSSとか、Javascriptとか、header.phpとか、別のファイルも同時に変更したりするよね。で、最終的にどのファイルをイジったか忘れちゃったりとかさ。
Neby
あるある。
でもGITはどのファイルをイジったか、何行目をどう変更したかまで勝手にバックアップしてくれるから、分からなくなる事がないんだよ。
Neby
それは上書き事故みたいな事が大幅に減っていいね!
→SourceTreeのインストール方法最新版。GITHUBとつなぐとこまで詳細解説。
GITにはアップロードできないものもある
GITは今話した通り、HTMLのようなコードをバックアップするシステムなんです。
なので、
- 画像はアップロードできない
- データベースもバックアップされない
という事に注意が必要です。
なので、画像をPCからサーバーにアップロードしたい場合は、FTPを使います。他にもサイト自体に画像アップロードフォームがあれば、ブラウザから直接アップロードもできますね。
また、データベース(記事タイトル、記事本文、コメント、日付などの投稿されたデータが入ってるところ)は、別途バックアップが必要です。
ん?HTMLに直接本文を書いてる場合はGITに保存されるの?
その場合は保存されるよ。データベースっていうのは、ブラウザのフォームから投稿された文字データが保存される場所なんだ。
例えば、WordPressなんかでブログを作って記事を書く時も、ブラウザ上のフォームに入力して書くよね。そういうフォームから送信されたデータっていうのはデータベースに保存されるんだ。
そうではなく、HTMLファイルに直接<p>とか<h1>とかで挟んで書く分には、GITにもバックアップされるよ。
データベースはレンタルサーバーにログインしてMySQLからバックアップを取ったり、別途cronという機能を使う事で自動バックアップを取ったりする事も可能だよ。
Neby
GITの操作はFTPよりも難しい?
GITはバックアップもしてくれるから便利な事は分かったよ。でもGITってコマンドを打つんでしょ?こんなふうに↓
すごく難しそうだけど・・
確かに、ターミナル(コマンドプロンプト)を立ち上げてコマンドを打って操作する必要があるんだ。ただ、さっき出てきたSourceTreeというソフトを使う事で、コマンドを打たなくても操作できたりするから、慣れればすごく楽になるよ。
Neby
GITはGITHUBを介すという構造や使い慣れないターミナルを使う必要もあるので、たしかに慣れるまでは難しく感じたりもします。ただ、しっかりと全体の流れを理解さえすれば、すぐに使いこなせるようになりますよ。
GITは無料で使えるの?
FTPは、無料のFTPクライアントをダウンロードすれば、無料で使えますよね。レンタルサーバーに付いてる事もありますし。
じゃあ、GITはどうでしょう?
GITも実はすべて無料で使う事ができるんです。
以前はGITHUBという中継サイトは有料だったんですが、2020年には無料プランも追加されて、無料で使えるようになりました。
GITHUB以外にもBitbucketなどの無料でGITをバックアップしてくれるサイトがあるので、全て無料で完結できます。
GITはどうやって使うのか?
GITとGITHUBの実際の使い方については、
→GITとGITHUBとは?全く分からない初心者向けに図入りでやさしく解説!
にて分かりやすく解説してます。
GITとFTPの違いまとめ
- GITは大量のファイル群でも一瞬で丸ごとアップロードできる。
- GITはアップロード時にコードの変更点のバックアップを取ってくれる。
- FTPはバックアップはできない。GITは画像アップロードはできない。
というわけで、GITとFTPの違いが分かったでしょうか。