TL;DR
bitbucketで管理していた『非公開の(ここ大事)』dotfilesの管理を、GitHubに移行しました。
目的
2019年1月8日、GitHubで無料アカウントでもプライベートリポジトリが使えるようになる更新がありました。
公開したくないプロジェクトは、無料アカウントでもプライベートリポジトリが使えるbitbucketで管理していた私にとっては大ニュースです(普段の業務はOrganizationで非公開にしてやってます)。
なので、毎回シンボリックリンクの設定を忘れるdotfilesの管理を、これを期にしっかりやってQiitaしようと思いました。
手順
1. bitbucketからGitHubへリポジトリインポート
まず、bitbucketにある対象のリポジトリからURLを取得します。
「クローンの作成」をクリック。
右上が「HTTPS」になっていることを確認して、下線部のURLをコピー。
以下のページに移動。
https://import.github.com/
先ほどのURLをペースト。
Nameにはリポジトリの名前「dotfiles」を入力。
「Private」をチェックしてBegin import。
インポートが完了するとメールが届きます。
2. GitHubからローカル環境へgit clone
GitHubでインポート完了したリポジトリを開く。
表示されるリポジトリのパスをコピー。
ホームディレクトリで
$ git clone <コピーしたパス>
すると、ローカル環境に自分のリポジトリがクローンされてきます。
3. シンボリックリンク設定
シンボリックリンクを張るコマンドは以下です。
$ ln -sf <リンク元のファイルパス> <リンク先のファイルパス>
ex)dotfiles内の.vimrcのリンクをホームディレクトリに配置
$ ln -sf ~/dotfiles/.vimrc ~/.vimrc
僕はファイルが多数あったので、shファイルにまとめて、dotfilesに含めてしまいました。
# !/bin/sh
ln -sf ~/dotfiles/_vimrc ~/_vimrc
ln -sf ~/dotfiles/.tmux.conf ~/.tmux.conf
ln -sf ~/dotfiles/.zsh_aliases ~/.zsh_aliases
ln -sf ~/dotfiles/.zshrc ~/.zshrc
ln -sf ~/dotfiles/.zshenv ~/.zshenv
コマンドは以下です。
dotfilesに移動して、shファイルを実行します。
$ cd ~/dotfiles
$ sh dot_update.sh
その他
sshの設定等も必要ですが、それはまた後日。