git リモートリポジトリを立てるの巻 ~ mac to mac ~
今使ってるmacの様子がおかしい...
重い...(長年の想いがたくさん詰まっているので)
Androidのエミュレータを起動しようもんなら風呂入って一服出来るぐらい時間がかかる
んで友達のmacにvncで繋いでごそごそしている。
# vncがデフォルトで入っているmacはやはり最高だ。
# Adminパスワードを教えてmacを貸してくれる友達も最高だ!!
ここで問題。自分のmacと友達macの変更たちをどうやって管理していこうかと。
答えは簡単。gitがあるじゃないかと。
前置きが長くなりましたが、mac to macでsshを使ったgitリモートリポジトリ環境の構築
- 以下自分mac:macA、友達mac:macBとします。
- ssh接続は macB -> macA のみ
とりあえずssh接続
macB > ssh <macA.user>@<macA.IPAddress>
gitリモートリポジトリ作成
macA > mkdir <git-repo> macA > cd <git-repo> macA > git --bare init
の名前の最後は「.git」にすると男前 - 「.git」を付けてもcloneで反映されません。
macA側のprojectをpush
macA > cd <macA.project> macA > git add . macA > git commit -a m "とりあえずコミットしとく" macA > git remote add origin ssh://<macA.user>@<git-repo> macA > git push origin master
macB側でclone
macA > cd <macB.project> macA > git clone ssh://<macA.user>@<git-repo> ...
ここで問題発生。
↓のエラーが出る。
bash: git-upload-pack: command not found fatal: The remote end hung up unexpectedly
むむむ。
ssh上では「git-upload-pack」が見つからないと。
こちらを参考にさせて頂き解決。
↑の中で3点の解決法が紹介されていますが、3番目のシンボリックリンク法で対応することにした。
git-upload-packの配置パス確認
macA > which git-upload-pack
シンボリックリンク作成
macA > ln -s <git-upload-packの配置パス> <sshで通ってるパス>/git-upload-pack
改め。macB側でclone
macB > cd <macB.project> macB > git clone ssh://<macA.user>@<git-repo>
出来た。
# ついでにmacBでpushするとまた「git-xxxがない」って怒られるのでそれもmacA側でシンボリックリンクを造る
以上。