なまえは まだ ない

思いついたことをアウトプットします

Macの環境設定をGitHubで管理する

はじめに

前回の記事で、自分のMac環境を半自動でセットアップするスクリプトを作成しました。 今回は作成したスクリプトGitHubリポジトリで管理できるようにしたいと思います。

登録するファイル群の内容は前回の記事をご覧ください。

自分で作ったMacの環境設定を他のMacでも再利用できるようにする - なまえは まだ ない

GitといえばGitHub

GitHubはGitのリモートリポジトリを管理、公開、共有できるホスティングサービスです。 非常に優秀なサービスで、個人や企業を問わず多くのアカウントがここにリポジトリを登録しています。 すなわち、イマドキのエンジニアはみんなGitHubのアカウントを持っています(偏見)。

が、そんな世の中の潮流に反し、私はGitHubのアカウントを持っていません。 前職でもGitは使っていたのですが、社内のセキュリティ規定とか諸々のしがらみがあってGitHubは使用していませんでした。 リモートリポジトリには、GitBucketを利用して社内サーバーにリポジトリを構築していました。

github.com

GitHubを使い始めてみる

というわけで、イマドキのエンジニア(偏見)になるためのはじめの一歩として、GitHubのアカウント登録から始めてみます。

GItHubにアカウントを登録する

何はともあれ、まずはGitHubのサイトにアクセスしてみましょう。 GitHubのアカウント名、メールアドレス、パスワードを入力して[Sign up for GitHub]をクリックします。

f:id:furusax0621:20190308103338p:plain

私はロボットではありませんテストがありますが軽くパスして進んでいくと、プランの選択になります。

f:id:furusax0621:20190308103342p:plain

今回はあくまで個人利用なのでFreeプランを選択します。 なお、以前はFreeプランでは公開(Public)リポジトリしか作成できないという制約がありましたが、 2019年1月からFreeプランでもプライベートリポジトリを作成できるようになりました

アンケート入力画面に移るので適当に回答します。

f:id:furusax0621:20190308103347p:plain

アンケート回答が終わるとWebでの操作は一旦終わりです。 登録したメールアドレスに確認メールが届いているはずなので、[Verify email address]をクリックします。

f:id:furusax0621:20190308103355p:plain

おめでとう!これであなたもエンジニアの仲間入りです! 次のようなメールが届きます。

f:id:furusax0621:20190308103403p:plain

はじめてのリポジトリ作成

アカウント作成が完了したら、早速サインインして管理画面に入ってみましょう。 リポジトリを作成するには、右上のメニューから[New repository]を選択します。

f:id:furusax0621:20190308103359p:plain

作成するリポジトリ命名とPublic/Privateの選択をします。

f:id:furusax0621:20190308103407p:plain

今回のような環境設定ファイルは慣習としてdotfilesというリポジトリ名を使うことが多いようなので、 リポジトリ名はdotfilesとします。 また、私自身の戒め(?)を込めてPublicなリポジトリとしておきます。 親切な誰かが改善をしてくれるかもしれません(願望)。 [Create repository]をクリックすればリポジトリを作成することができます。

はじめてのコミット

無事リモートリポジトリを作成することができたので、ここにファイルを登録していきます。

Gitの初期設定

何よりも先に、Gitそのものの環境設定をします。Macでターミナルを起動して、次のようなコマンドを実行します。

git config --global user.name furusax0621
git config --global user.email xxxxxx@yyy.com
git config --global core.editor 'vim -c "set fenc=utf-8"'

core.editorgitコマンドで実行されるエディターを指定します。 Macはデフォルトではnanoというエディターを使用するようなのでVimに変更しています。 Ubuntuでもデフォルトはnanoみたいですね。前職ではもっぱらRHEL/CentOSを使用していたので知りませんでした。

ローカルリポジトリを作成する

環境設定が終わったらdotfilesディレクトリに移動してローカルリポジトリを作成します。

cd dotfiles
git init

Initialized empty Git repository in /path/to/dotfiles/.git/

これでdotfilesディレクトリ配下のファイルをGItでバージョン管理できるようになりました。 最初のコミットとして、すべてのファイルを登録します。

git add .
git commit -m 'first commit.'

Git-flowを使ってみよう

Gitを利用した開発にGit-flowというプラグインが使われることがよくあります。 機能追加やバグフィックスなど目的別のブランチ作成ルールを策定し、 開発フローに沿ったGitの各種操作(ブランチの作成、マージ、削除、タグ登録)を簡単に運用できる便利なプラグインです。 MacにはデフォルトでGit-flowがインストールされていないので、Homebrewでインストールします。

brew install git-flow

Git-flowを使用した操作を行うときはgit flowコマンドを実行します。 まずはdotfilesリポジトリ配下で次のコマンドを実行し、リポジトリをGit-flowスタイルに初期化します。

git flow init

何度か入力と確認を求められますが、特にこだわりが無ければEnterを打ち続ければOKです。 これで自動的にdevelopブランチが作成され、developブランチがチェックアウトされます。 Git-flowの運用は今回省略しますが、いつか解説するかもしれません。

リモートリポジトリにプッシュする

それでは、リモートリポジトリとしてGitHubリポジトリを登録してプッシュしましょう。 次のコマンドを実行します。

git remote add origin https://github.com/furusax0621/dotfiles.git
git push -u origin --all

プッシュする際には認証を求められるので、GitHubのアカウント名とパスワードを入力します。

originはデフォルトのリモートリポジトリを登録する際に使用する名前です。 --allオプションを使うとローカルの全てのブランチの変更をリモートにプッシュします。 特定のブランチのみプッシュしたい場合は次のようにブランチ名を指定します。

git push origin develop

無事GitHubリポジトリを登録できた

ここまでで、なんとかGitHubリポジトリを作成して、スクリプトを公開することができるようになりました。

github.com

この先勉強した内容とか成果物はどんどんGitHubで管理していこうと思います。