Gitって何?Githubと違うの?
こんにちは。就職支援校で訓練を受けている者です。
今日はGitとGithubについて解説します。
Githubを一言で表すとプログラム開発に特化したGoogleドライブのようなものです。一度アップロードすれば出先からでも作業できたり、他の人と共同編集ができたりと大きなメリットがあります。
GitとGithubはプログラムを多少でも書く人にとって欠かせないものです。個人開発や趣味の開発レベルでも絶対に使うべき、というぐらい便利なので、ぜひ一度使ってみてください。
Gitって何?
Gitはバージョン管理ソフトウェアといって、コードやリソースの変更履歴を自動で記録してくれるソフトです。普通、ファイルの上書き保存をした時点で以前のコードは読めなくなってしまいます。しかし、Gitでバージョン管理をしてさえいれば変更履歴が残るので、以前のコードと現在のコードを見比べることが出来ます。
自分の作っているプログラムで不具合が出て動かなくなってしまった場合、まるっと以前のバージョンに差し戻して、作業を「なかったこと」にしたりできます。作業のチェックポイントを作ることでより大胆な挑戦が可能になりますね。
Githubって何?
GithubはGitと連携するために作られたWebサイトです。Googleドライブがドキュメントやスプレッドシートの共同編集に特化しているように、Githubはプログラムのソースコードやリソースの共同編集に特化しています。Gitを通じてGithubにプロジェクトをアップロードすることで、誰がどんな変更をしたかを簡単に確認しながら作業を進めることができるのです。
誰でも無料で登録できるので、先に登録しておきましょう。
リポジトリって何?コミットって?
Git関連の単語は正直横文字が多くてわずらわしいですよね。
誤解を恐れず、よく使われる用語をふんわりと翻訳してみます。
リポジトリ ≒ 共有フォルダ
ローカルリポジトリ ≒ PC内のフォルダ
リモートリポジトリ ≒ アップロードしたフォルダ
コミット ≒ チェックポイントの作成
プッシュ ≒ アップロード
クローン ≒ ダウンロード
フェッチ ≒ 差分チェック
プル ≒ 差分ダウンロード
どうやって使うの?
個人開発で使う場合を想定して、簡単に流れを説明します。
フォルダをGitに登録する。(git init)
フォルダ内のファイルが自動で追跡されるようになります。しかしチェックポイントが自動で作られる訳ではありません。
追跡不要ファイルのリストを作る(.gitignore)
一時ファイルや個人情報の入ったファイルなど、Githubに上げたくないファイルは最初のコミットの前に除外設定が出来ます。
チェックポイントを作る(git add / git commit)
チェックポイントを作らないと(コミットしないと)変更履歴をたどることはできません。厳密に言うとコミットするファイルを選択する(ステージングする)手順が間に挟まりますが、スキップすることもできます。(後述)
アップロード前の準備(git remote)
Github上にフォルダを作って、PC上のフォルダ(リポジトリ)と紐づけます。
アップロード(git push)
Githubにファイルとファイルの変更履歴をアップロードします。
(問題が起こった場合)前のチェックポイントに戻る(git revert)
(別のPCからプッシュした場合)差分をダウンロードする(git pull)
コマンドラインを使わなきゃいけないんでしょ?
いいえ。確かにGitにはコマンドを真っ黒い画面に打ち込んで使うイメージがあります。実際コマンドを覚えた方が理解も深まるし、小回りもきくし、覚えるに越したことはありません。でもGit自体はコマンドを一切覚えていなくても使えます。
SourcetreeはGitをGUI(ふつうのWindowsソフトのような画面)で使えるソフトです。
VSCodeを使っているならGitLensという拡張機能がおすすめです。
どちらもコマンドを打ち込むことなく直観的にコミットやプッシュを実行できます。
他にはどんな機能があるの?
例えば複数のバージョンを並行して管理できるブランチや、一時的な変更を退避しておくスタッシュなど、いろいろな機能がありますが詳しい説明は控えておきます。
いつでも前のチェックポイントに戻れる安心感や、複数のパソコンから同じファイルを編集できる便利さは一度使ってみないと実感できません。誰でもすぐに使い始められるので、ぜひ一度使ってみてくださいね。
この記事が気に入ったらサポートをしてみませんか?