複数のPCでリモートリポジトリを共有し、各ローカルリポジトリでgit cloneやgit pushを実行する
自宅PCにてRailsアプリケーション環境を作成し、それをGitHubのリポジトリにpushしたが、会社PCでも同じリポジトリの内容を共有できれば楽だなーと思ったので、そうしてみた。
やりたいこと
ローカルリポジトリの環境
自宅PC・会社PCともにVagrantで立ち上げた仮想マシン上で管理する。
1. リモートリポジトリの内容を別のローカルリポジトリへ反映
GitHubのリポジトリ画面で「SSH clone URL」をコピーする。
git clone
で「SSH clone URL」を指定して、リモートリポジトリの内容をローカル環境上にコピーする。
[vagrant@localhost first_app_workspace]$ git clone git@github.com:ponkiti/first_app.git Initialized empty Git repository in /home/vagrant/rails_projects/first_app_workspace/first_app/.git/ The authenticity of host 'github.com (192.30.252.130)' can't be established. RSA key fingerprint is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts. remote: Counting objects: 60, done. remote: Compressing objects: 100% (47/47), done. remote: Total 60 (delta 2), reused 60 (delta 2) Receiving objects: 100% (60/60), 13.86 KiB, done. Resolving deltas: 100% (2/2), done.
リモートリポジトリの内容がローカル環境にコピーできた。
[vagrant@localhost rails_projects]$ ls first_app
2. 別のローカルリポジトリからリモートリポジトリへpush
今回のケースでは同じRailsアプリケーションを共有したいので、Railsアプリケーションを動かす環境は自宅PC・会社PCで揃えておく必要がある。環境構築メモ(1)の 「Railsアプリケーションの作成」以外を実行しておく。
SSH Keysの作成と登録
環境構築メモ(2) と同様に、新たにリモートリポジトリの内容を反映したい環境で「秘密鍵と公開鍵の作成」と「SSH Keysの設定」を行なう。
ファイルの編集
例として、first_appディレクトリにtest_fileを作成したとする。
git add
インデックスにtest_fileを追加する。
[vagrant@localhost first_app]$ git add test_file
git status
[vagrant@localhost first_app]$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: test_file #
git commit
[vagrant@localhost first_app]$ git commit -m "git test workspace" [master 15deb5b] git test workspace 1 files changed, 3 insertions(+), 0 deletions(-) create mode 100644 test_file
git push
[vagrant@localhost first_app]$ git push Counting objects: 4, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 290 bytes, done. Total 3 (delta 1), reused 0 (delta 0) To git@github.com:ponkiti/first_app.git cfe92ba..15deb5b master -> master
リモートリポジトリを確認
リモートリポジトリに変更が反映された!