Synology NAS架設Git
需要先弄個 Synology 的 NAS,透過 NAS 本身的介面可以很順利地安裝 Git Server,只是,通常事情沒有憨人想的那麼簡單,裝好了 Git Server 之後,會發現它內建的說明文件簡單的可憐,當然有可能是撰寫文件的人認為這些都是非常基本的事情,不用多做描述,只是從來沒有碰過 Linux 的我,一開始在 SSH 遠端登入到自己的 NAS 主機上就卡關卡很久了,後續又發現無法正確 push,還好有找到文章參考,順利使用。這邊記錄一下。
這邊的測試專案叫做:BMISample,Git 目錄就照著命名為:git_repos,NAS 硬碟因為有兩棵,將位置放在第二顆所以是 volume2。
所以最終的 repo 位址應該是 ssh://[使用者]@[主機位址]:[Port]/volume2/git_repos/BMISample
建立 Git 的 Repos 目錄
透過 Putty 使用 admin 或 root 權限登入 NAS 主機後,建立一個目錄用來存放 repo
1 | mkdir git_repos |
建立專案儲存庫
1 | mkdir BMISample |
初始化一個 Git
1 | git init --bare |
加了 bare 的就是把檔案都放在當前目錄下,比較適合在沒有修改、開發的機器上,例如 Git Server,這樣做的好處是不需要將專案資料再複製一份最新的出來,會省一些些空間
此時 repo 已被建立,可透過下列指令將 repo 複製回來
1 | git clone ssh://[使用者]@[主機位址]:[Port]/volume2/git_repos/BMISample |
但是會發現 push 過去的時候會發生錯誤
透過指令變更權限,將整個 repo 權限指定給自己…這個是偷懶的作法,實際上應該要將每個目錄根據使用者逐一給權限,因為我自己用而已,就給他 chown -R 下去了
1 | chown -R art:users git_repos |
1 | chmod -R 775 git_repos |
搞定,透過 git push origin master 可成功提交 commit
這樣做比較麻煩的是,如果有新專案要做,就要重頭來一次
- 登入 SSH,建立專案目錄
- 執行 git init –bare
- 修改權限 chown -R [使用者名稱]:users [專案目錄名稱]
- 本機儲存庫執行 git clone ssh://[使用者名稱]@[主機位址]/volume2/git_repos/[專案名稱]
- 將檔案複製到本機 repo
- 再將本機 repo git push origin master 去
不過 VS2015 不支援 ssh 這樣開頭的位址,所以還是有點麻煩,如果要自己用自己的 NAS 來當作 Git 就變得很麻煩,還需要透過指令或 GUI 介面的 Git 去處理版控,不知道有沒有更方便的方法阿….
不然之後就是要考慮學用 Linux 配上阿帕契來架,這樣就可以有 http 了…