Lanvillのスマホアプリ開発記

アプリ開発初心者のLanvillが作ったスマホアプリを紹介したりするブログです。

Synology NAS DS216jにGitサーバ立ててSourcetreeからアクセスできるようにしようとしたら苦労した話 その2

前回の続き。前回はコレ↓

lanvill.hatenablog.com

 

2.GitクライアントPCにGitとSourcetreeを入れる

Git入れるのに参考にしたのは以下記事。

入れること自体はそんなに大変じゃない。

prog-8.com

Sourcetreeのインストールは以下を参考にした。

sukkiri.jp

Bitbucketアカウントは作ってない。何に使うか必要性がわからなかった。調べる気もなかった。

結果的に無くても問題ないと思われる。

 

3.ローカルリポジトリ作成し、リモー トリポジトリにプッシュ出来るようにする

参考にしたのは以下記事。

qiita.com

手順的には以下。

  1. オプション設定画面で、フルネームとメールアドレスを入力
  2. ローカルリポジトリの作成
  3. 保存したいファイルをインデックス追加
  4. ローカルリポジトリにコミット
  5. SSH公開鍵と秘密鍵の作成
  6. 公開鍵をNASに保管
  7. 秘密鍵をSourcetreeeに設定
  8. 設定画面でリモートリポジトリを設定
  9. リモートリポジトリにプッシュ

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にしようかと悩むレベル。

ひとまず使えるようになって良かった。・・・いやホントに。