近年はソフトウェアの配布をGitHubで行われる事もあり、それが何か知らなくても「Git」とか「GitHub」を聞いたことがある!って方は多いと思います。
そこで「そもそもGitってなんや!」という方でも今日からGitが始められるよう、Gitで何ができるか、ソフトウェアのインストール、初期設定まで徹底的に解説します!
Gitって何?
GitはLinuxを生んだLinus Torvalds氏が開発した「分散型バージョン管理システム」の一つです。
なるほどさっぱり分かりませんね、バージョン管理はなんとなく想像できても分散型とは一体なんぞやとなります。
分散型バージョン管理システム
Gitは分散型バージョン管理システムのうちの1つで、Gitに似たソフトウェアは他にもMercurialやSubversion等があります。
その分散型、バージョン管理とはなんなのかざっくり見て行きましょう!
分散型
Gitは分散型と呼ばれますが、対義として集中型があります。
集中型は例えばサーバー上にファイルや変更履歴を全て保存(これを貯蔵庫と言います)しておき、作業の度に最新のファイルをローカルにコピーして編集が終わったらアップロードをします。
1つのリポジトリに集中しているから集中型。
Gitを始めとする分散型は1つの中央リポジトリだけでなく個々人のローカルにもリポジトリが存在します。
複数のリポジトリが作れるから分散型。
普段は自分のローカル上にあるリポジトリで作業をし、ある程度作業がまとまったらメインのリポジトリに反映させる。
こうする事でオフラインでも作業が行なえますし、よりローカル開発がしやすくなるというメリットがあります。
バージョン管理
HTML、CSS、JavaScriptのようなフロントサイドからPHPやPythonのようなサーバーサイドまでWeb制作には様々な言語を使用します。
フロントサイドエンジニアがあまり知らないPHPをなんとか触って機能実装した・・・あまり好ましく無いけど小さなプロジェクトでは割とある気がします・・・笑。
特にWordPressでブログを書いているブロガーさんは多いんじゃないでしょうか、カスタマイズの為にググってとりあえずそれっぽい記事を見つけてなんとなくfunction.phpに追記した・・・みたいなケース。
その是非は今回おいておいて、こういう場合に「だれ(who)いつ(when)どこ(where)なに(what)なぜ(why)どうやって(how)」という5W1Hを全て記録しておける。
それがバージョン管理です。
Gitを使う事でこれらを全て記録する事ができ、場合によってはその変更を破棄し別の機能を加える等も行えます。
また仮に1人で開発していたとして、その後誰かと一緒に開発するような事になった場合も常に変更記録を残しておく事で「これ何の為に実装したんだろう・・・?」という事が第三者でもすぐに理解できるようになります。
事実を全て記録しておける、それがGitで最も重要であり重宝される理由であると僕は考えています。
CUI操作
Gitは基本的にCUI(Character User Interface)と呼ばれる、いわゆるコマンドラインを使って操作します。
いわゆる映画にでてくるクラッカーが使ってるようなアレです笑。
コマンドラインってどうしても難しいイメージがあるんですが、やってる事は非常に単調。
覚えるまで多少の慣れが必要なのは事実です(よく使うコマンドは数個なので、割とすぐ覚えられます笑)。
GUI操作
どうしてもCUIに抵抗がある!という方はサードパーティ製のGUI(Character User Interface)ソフトウェアを使う事ができます。
SourcetreeはGitのGUIソフトウェアとして非常に人気があります。
しかし基本的にはコマンド操作を覚えた方が良いです、慣れればGUIより早く操作できますし一度覚えてしまえば案外簡単なので・・・笑。
GitとGitHubは別物!
結構勘違いしている人が多いんですが、GitとGitHubは全くの別物です。
Gitは上記で解説した分散型バージョン管理システムそのものの事。
GitHubはソフトウェア開発のプラットフォームであり、Gitを使って利用できるソースコードのオンライン管理サービス。
つまりGitHubはGitを使ったサービスの一つです。
GitHubがあまりにも有名すぎてGit=GitHubの事を指す、と思ってしまいがちですがここを混同すると話が繋がらなくなってしまいます、きっちり別物である事を理解しておきましょう!
なお当記事は改めて言うまでもないですが、分散型バージョン管理システムであるGitを解説しています笑。
Gitの導入
それではまずGitを使えるようにしていきます。
Windowsの方はインストーラーで、Macの方はHomebrewを使ったCUIでインストールして行きます。
Macの方は次項のMacでGitを導入からお読み下さい。
WindowsでGitを導入
Git公式ページを開いてダウンロードして下さい。
Downloadボタンをクリックし、インストーラー(.exe)をダウンロードし実行します。
インストーラーは全て英語ですが全て解説するのでご安心下さい。
Nextをクリックします。
まず最初にインストールするフォルダの指定です。
基本的にデフォルトでOK、デフォルトだと
C > Program Files > Git
にインストールされます。
ここはチェックが多いですが以下のような内容です。
Additional icons – On the Desktop | デスクトップのショートカットを設置 |
Git Bash Here | 右クリック時にGit Bashメニューを表示するか |
Git GUI Here | 右クリック時にGit GUIメニューを表示するか |
Git LFS(Large file Support) | Git LFSという拡張機能をインストールするか |
Associate .git* configuration files with the dafault text editor | 拡張子が.gitのファイルをテキストエディタと紐付ける(エディタは後ほど指定できます) |
Associate .sh files to be run with Bash | 拡張子が.shのファイルをGit Bashで開く |
Use a TrueType font in all console windows | コンソールでTrueTypeフォントを使うか |
Check daily fo Git for Windows updates | Git最新版をWindows updateで毎日確認するか |
僕はショートカットや右クリック時のメニューは不要なので外しました。
LFSとAssociateの2つは便利なのでそのままチェック。
Use a TrueType fontは日本語のようなマルチバイト文字の場合文字化けしてしまうので、チェックを外しておきましょう。
Windows Updateは任意です、僕は手動管理しているのでチェックを外してあります。
Windowsスタートボタンをクリックした時に表示されるスタートメニューに表示されるフォルダ名を変更できます。
このままNextでOK。
Gitとエディタを紐付けられます。
作業履歴(コミットメッセージ)を残す時に使用するエディタです。
とりあえずVimを選んでおけばOKです(もちろん後から変更できます)。
詳細に解説しようとも思ったんですが、パッと見て意味がわからなければ真ん中(デフォルト)を選んでおけばOK(今回はあくまで初心者向けという事なので、ほとんどのケースで真ん中を選んでおけば良いと思います)。
環境変数(PATH)に変更を加えるかどうかのオプションです。
Use Git from Git Bash only
何も変更を加えないというオプション。GitはGit Bashだけで使用するという設定。
Git from command line and also from 3rd-party software
Windowsのコマンドプロンプト、PowerShellでもGitが使えるようにする設定。
Use Git and optional Unix tools from the Command Prompt
WindowsのコマンドプロンプトでGitとUnixコマンドが使えるようになる設定。
証明書の設定、今これを見てインストールしている方は100%Use the OpenSSL libraryでOKです。
改行コードの変換についての設定ですが、僕は一番下のCheckout as-is commit as-isを推奨します。
ようは改行コードの変換を有効にしますか?という設定なんですが、今の時代改行コードはテキストエディタ側の仕事です。
基本的にトラブルの元なので、特段の理由が無ければ一番下を選択しておきましょう。
コンソール(あの黒い文字だけの画面)をMinTTYというツールを使うかWindows標準のものを使うかという選択肢です。
特段こだわりが無ければMinTTYでOKです。
Enable file system caching | キャッシュを有効にするか |
Enable Git Credential Manager | https時の認証情報を保存しておくか |
Enable symbolic links | シンボリックリンクを有効にするか |
基本的に全て有効でOKですが、低スペックなWindowsを使用している場合は一番最初のsystem cachingは無効の方が良いかも知れません(多少リソースを使う変わりに高速化しています)。
Git Credential Managerは接続情報の保存や二段階認証を有効にする設定です。
symbolic linksはWindowsで言うショートカットみたいなものなんですが、とりあえず有効で構わないでしょう。
2019年7月現在テスト的に選択できる高速化オプションです。
Gitは安定性が必要なシステム(だと僕は思っています)なので、今回はチェックしないでおきました。
インストールが完了するとこんな感じの画面になります。
ひとまずGitのインストールができました!
次項はMacでGitを導入する話なので、飛ばしてGitの最低限の設定をお読み下さい。
MacでGitを導入
実はMacの場合Homebrewインストール時にXcode Command Line ToolsにGit(Apple-Git)が入っているのですが、これは最新バージョンではありません。
今後の事も考えるとHomebrewで別途インストールして管理する事により、簡単に最新バージョンへアップデートが行えます。
Hombrewが使える前提なので、まだHomebrewを使っていない!という方は以下の記事で導入して下さい(5分もあれば導入できます)。
まず現在入っているGit(Apple Git)のバージョンを確認します。
環境によってバージョンが変わりますが、Apple GitというのがXcode Command Line Toolsインストール時に同梱されているGitです。
それではHomebrewでGitを導入して行きます。
アプリケーションフォルダの中のユーティリティからターミナル.appを開くか、右上の虫眼鏡マーク(Spotlight)でターミナルと検索して開いて下さい。
ターミナルでgitをインストールします。
インストールが終わったらHomebrewでインストールしたGitを使うようにPATHを書き換えます。
Homebrewでインストールされたパッケージ(ソフトウェア)は/usr/local/bin配下に格納されています。
なのでこの/usr/local/binを最優先で読み込むように命令文を書きます。
.bash_profileが無い場合は新規ファイルが作成されます。
既に.bash_profileがある場合は既存のファイルが開くので、以下の行を追加します。
書いたらESCキーを押し、続けて順番に:wpキー、最後にEnterキーを入力して保存します。
今設定したPATHを読み込ませます。
これで無事PATHが通ったはずなので、再度Gitのバージョンを確認してみましょう。
こんな感じでバージョンの後に(Apple Git)の記述が無ければ無事完了です!
Gitの最低限の設定
これでGitが使えるようになったので、Gitの最低限の設定を行っていきましょう。
Windowsの方はインストールしたGitの中からGit Bashを、Macの方はそのままターミナルを利用します(Windowsの方で解説通りインストールした方はコマンドプロンプトでもOKです)。
ユーザーネーム
Gitは先述した通り○○さんがいつ何をなぜ何した、という記録を全て残す事に意味があります。
この○○さんを指し示す部分がユーザーネーム。
“username”は自分だとわかる名前を入力しましょう。
もちろん本名でも良いですしハンドルネームでも良いです、ようは誰かが特定できればいいだけの話なので。
user.nameの後を書かなければ現在登録されているユーザーネームの確認ができます。
メールアドレス
ユーザーネームと同じようにメールアドレスも登録しておきます。
ユーザーネームと同じく”~”がご自身のメールアドレスになります。
user.emailの後を書かなければ現在登録されているユーザーネームの確認ができます。
Gitにメールアドレスは必要?
僕も詳しく検証した訳ではないのですが、調べて見ると将来的にGitHubを使う場合ユーザーネームではなくメールアドレスで個人を紐づけているようです。
で、メールアドレスがブランク(未入力)だとエラーが出る場合があるそう。
という事で慣例だと思ってメールアドレスは設定しておきましょう笑。
Gitの準備OK!使い方もマスターしよう
これでGitを使う準備が整いました。
もちろん使いこなしてからが本番、ここからGitを使いこなせるようになっていく必要があります。
と言っても基本的な使い方は1日もあれば簡単に覚えられるので是非覚えてGitで効率よくバージョン管理を行いましょう!
コメント