這兩天在阿里雲上弄windows 服務器,順便部署了一個git服務。根據網上教程一步步操作下來,最后在 remote遠程倉庫的時候提示
fatal: 'yourpath/test.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
一直提示倉庫不存在。
經過兩天的各種查找文章,都沒有解決問題,最后想會不會是權限的問題,查看服務器倉庫文件夾看到已經有管理員和system的賬戶權限,bitvise也是用管理員運行的。那會不會是git登陸時候用的不是管理員用戶呢?查找用戶組發現有一個 Bitvise SSH Server Virtual Users 賬戶。於是把這個賬戶添加到倉庫文件夾,並給讀寫權限。再次同步倉庫,沒有報錯了。
那么原因很明顯了,git客戶端登陸時用的是 Bitvise SSH Server Virtual Users 賬戶,所以服務器的git倉庫需要給予權限。這在很多文章中都沒看到這一點說明。
////更新
后來在上傳文件時,git還是提示沒有權限。經檢查發現是根目錄也應該賦予同樣的賬戶權限。此時發現用戶目錄下有一個BvSsh_VirtualUsers文件夾,經測試,可以把git倉庫放在這個目錄下,因為這個目錄已經給了 Bitvise SSH Server Virtual Users 賬戶權限。
git的部署工具用了以下兩個軟件
- Bitvise SSH Server
- Git for Windows
文章可以參考:
廖雪峰的教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
這應該是比較詳細的git教程。git的命令也是通用的,不分linux/windows.
windows的部署可以參考這個文章:
http://blog.michiru.me/posts/git-server-on-windows.html
簡單明了,唯一需要注意的是我上面的給倉庫權限。