Synology NAS DS216jにGitサーバ立ててSourcetreeからアクセスできるようにしようとしたら苦労した話 その2
前回の続き。前回はコレ↓
2.GitクライアントPCにGitとSourcetreeを入れる
Git入れるのに参考にしたのは以下記事。
入れること自体はそんなに大変じゃない。
Sourcetreeのインストールは以下を参考にした。
Bitbucketアカウントは作ってない。何に使うか必要性がわからなかった。調べる気もなかった。
結果的に無くても問題ないと思われる。
3.ローカルリポジトリ作成し、リモー トリポジトリにプッシュ出来るようにする
参考にしたのは以下記事。
手順的には以下。
- オプション設定画面で、フルネームとメールアドレスを入力
- ローカルリポジトリの作成
- 保存したいファイルをインデックス追加
- ローカルリポジトリにコミット
- SSH公開鍵と秘密鍵の作成
- 公開鍵をNASに保管
- 秘密鍵をSourcetreeeに設定
- 設定画面でリモートリポジトリを設定
- リモートリポジトリにプッシュ
SSHキーの作成関係は以下を参考にした。
https://nelog.jp/sourcetree-github-settings#SSH%E3%82%AD%E3%83%BC%E3%81%AE%E4%BD%9C%E6%88%90
作成した公開鍵をNASにアップするにはコマンドプロンプトで以下を打つのだが、上手くいかなかった。
scp id_rsa.pub <user-name>@<nas-name or IP address>:
ので、ファイルを直接<user-name>のhomeフォルダ直下にコピーした。ってかこれでええやん。その後、以下コマンドを打つ。
mkdir .ssh
chmod 700 .ssh
cat id_sra.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 755~
.sshとかいうフォルダを作って、そこに置かないといけないようだ。
リモートリポジトリの名称はなんでも良いみたい。パスは以下に設定。
ssh://<user-name>@<nas-name or IP address>:/volume1/gitvolume/<repo-name>
んで、プッシュしてみるがエラー。以下のようなエラー文。
remote error cannot lock ref 'head' unable to create(以下略)
いろいろ調べて、最終的に以下のコマンドをrootで打ち、エラー解消。当然このコマンドを打つ前にはcdで対象のフォルダに降りている。結局のところファイルのパーミッションをガバガバにしてる感あるが、どうせ自分しか使わんしいいかなって。
chmod 777 <repo-name>
その1でリポジトリを作るときに777を与えてしまえばOKかな。
こう書くと、なんとなくサラッと解決した感あるけど実際は結構必死だった。もうSVNにしようかと悩むレベル。
ひとまず使えるようになって良かった。・・・いやホントに。