gitサーバーをおったてた

LAN内にいろいろなパソコンがあってソースコードの共有とかがめんどくさかったので、gitサーバーを立てました。メモと手順(自分用)

環境

リモート
Raspberry Pi B+
・Arch Linux ARM

ローカル
OS X

手順

LAN内だけでいいので、プライベートIPをラズパイに割り当てておいた。
sshが使えることをラズパイ上で確認しておく

# systemctl | grep sshd

使えなかった場合

# systemctl start sshd
# systemctl enable sshd

でスタート、起動時に自動でsshが起動するようにしておく。
先にgit用のユーザーを作成しておく。

# useradd -m -g wheel git

gitのパスワードを変える。

# passwd git 

僕はこのときっていうかgit用にユーザーを作らなかった。おそらくぼくしか使わないので。
ローカルでsshの設定とか

local # ssh-keygen -t rsa
local # cat ~/.ssh/id_rsa.pub | ssh git@xxx.xxx.xxx.xxx "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

id_rsa.pubがある場合は使いまわすか別のファイル?ここは要検討な気がする。

[git@xxx.xxx.xxx.xxx ~] sudo pacman -S git-core
[git@xxx.xxx.xxx.xxx ~] mkdir -p ./TestProject.git
[git@xxx.xxx.xxx.xxx ~] cd TestProject.git
[git@xxx.xxx.xxx.xxx ~/TestProject.git] git --bare init

テスト用のgitディレクトリを作り、bareリポジトリをつくる。

local # mkdir myproject
local # cd myproject
local myproject # git init
local myproject # git remote add origin ssh://git@xxx.xxx.xxx.xxx/home/git/TestProject.git
local myproject # touch README.md
local myproject # git add README.md
local myproject # git commit -m 'First Commit'
local myproject # git push origin master

こんな感じだろうか。メモしたりしてたわけじゃないからもしかしたらすこしちがうかも

あとがき

コマンドとか覚えとくのめんどくさいと思ったので、次からはシェルのヒストリーとかから持ってきたりエラーが出なかったコマンドだけ記録するようなスクリプトが必要だなと思った。今度調べてみよう。
そういえば、書いてるときJustBecauseやっててめっちゃドキドキして面白かったです。僕は結構好きですね。ああいうの。