在 OVH "Mutualisé" 上部署一个 GIT 项目(共享)
Deploy a GIT project on OVH "Mutualisé" (shared)
我跟着this tutorial (in french),解释的很好,很好理解。我了解 GIT,因为我使用自己的服务器在 Gitlab 中对我的项目进行版本控制。
我被要求查看项目的进度。所以我尝试了几天在共享主机 OVH(PRO 帐户)上安装 GIT。
最终目标是重现教程中解释的内容,并直接在 OVH 服务器上合并代码。
我按照步骤来。
- 我在服务器上初始化 git :
git init --bare
- 然后我创建了一个本地文件夹,并将其粘贴到远程 git :
git remote add origin ssh://user@ftp.domain_name.com/folder/test.git
- 然后我尝试用遥控器推送本地代码:
git push origin master
我收到以下错误:fatal: protocol error: bad line length character: Usin
这是什么错误?为什么我会得到这个,无论使用什么方法?
编辑 :
$ GIT_TRACE=2 GIT_TRACE_PACKET=2 git push origin master
10:53:29.947071 git.c:348 trace: built-in: git 'push' 'origin' 'master'
10:53:29.947071 run-command.c:335 trace: run_command: 'C:\Program Files (x86)\PuTTY\plink.exe' 'user@ftp.domaine_name.com' 'git-receive-pack '\''/folder/test.git'\'''
fatal: protocol error: bad line length character: Usin
编辑 2:运行 另一个命令:
ssh user@ftp.domain_name.com git-receive-pack folder/test.git
00700000000000000000000000000000000000000000 capabilities^{} report-status delete-refs side-band-64k ofs-delta
0000
或者(从根 /folder
):
ssh user@ftp.domain_name.com git-receive-pack /folder/test.git
fatal: '/folder/test.git' does not appear to be a git repository
如果我在远程 git 文件夹中执行 ls
:
~/folder/test.git $ ls
branches config description HEAD hooks info objects refs
我刚刚尝试了我的 own tutorial(您向其寻求帮助)是否有效并且它仍然有效。我认为您理解本教程的方式或您的 Windows Git 配置存在问题。
这是我一步一步做的:
假设您在 OVH 的服务器主目录中有一个 git
文件夹。
在我的本地机器上:
$ mkdir test.git
$ cd test.git
$ git init --bare
$ cd ..
$ scp -r test.git {user}@ssh.cluster{XXX}.ovh.net:git
$ rm -rf test.git
如果您已经在这里遇到问题,那么您的 Git 配置肯定有问题。
然后,让我们使用新创建的 repo:
$ git clone {user}@ssh.cluster{XXX}.ovh.net:git/test.git
就是这样。
我没有任何特定的 Git 配置说明是否通过 SSH 等使用 HTTPS。
请记住,据我所知,OVH 服务器无法访问外部世界,除非通过 FTP 和 SSH。您可能想要验证这一点。
对于 OVH Hébergement Web mutualisé,我找到了以下解决方案。
-> 通过 PuTTYgen PuTTY Key Generator 生成 public/private 密钥对
-> 将您的 public 密钥添加到服务器的这个隐藏位置:
Mon Compte > Mes Services > Clés SSH > Ajouter clé SSH > Dédié
https://www.ovh.com/manager/dedicated/#/billing/autorenew/ssh
->使用Pageant(Putty认证代理),添加通过OVH manager配置的public密钥对应的私钥
-> 测试 SSH 是否有效:
从本地计算机命令提示符:
C:\gittest> ssh myusername@ftp.cluster006.ovh.net
它在输入与服务器上配置的 public 密钥相对应的私钥密码后,在远程计算机上提供 shell
-> 在远程机器上执行:
Welcome to OVH
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~ $ mkdir gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~ $ cd gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ git init
Dépôt Git vide initialisé dans /home/username/gittest/.git/
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ pwd
/homez.732/myusername/gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ exit
!! homez.732
用于git clone
命令!!
-> 现在在本地机器上
C:\> git clone ssh://myusername@ssh.cluster006.hosting.ovh.net/homez.732/myusername/gittest/ -v
Cloning into 'gittest'...
remote: Décompte des objets: 3, fait.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
C:> cd gittest
C:\gittest>
在我的例子中,当我尝试不使用 homez.732
直接访问时失败
C:\> git clone ssh://username@ftp.cluster006.ovh.net:gittest/
Cloning into 'gittest'...
fatal: '/' 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.
我跟着this tutorial (in french),解释的很好,很好理解。我了解 GIT,因为我使用自己的服务器在 Gitlab 中对我的项目进行版本控制。
我被要求查看项目的进度。所以我尝试了几天在共享主机 OVH(PRO 帐户)上安装 GIT。
最终目标是重现教程中解释的内容,并直接在 OVH 服务器上合并代码。
我按照步骤来。
- 我在服务器上初始化 git :
git init --bare
- 然后我创建了一个本地文件夹,并将其粘贴到远程 git :
git remote add origin ssh://user@ftp.domain_name.com/folder/test.git
- 然后我尝试用遥控器推送本地代码:
git push origin master
我收到以下错误:fatal: protocol error: bad line length character: Usin
这是什么错误?为什么我会得到这个,无论使用什么方法?
编辑 :
$ GIT_TRACE=2 GIT_TRACE_PACKET=2 git push origin master
10:53:29.947071 git.c:348 trace: built-in: git 'push' 'origin' 'master'
10:53:29.947071 run-command.c:335 trace: run_command: 'C:\Program Files (x86)\PuTTY\plink.exe' 'user@ftp.domaine_name.com' 'git-receive-pack '\''/folder/test.git'\'''
fatal: protocol error: bad line length character: Usin
编辑 2:运行 另一个命令:
ssh user@ftp.domain_name.com git-receive-pack folder/test.git
00700000000000000000000000000000000000000000 capabilities^{} report-status delete-refs side-band-64k ofs-delta
0000
或者(从根 /folder
):
ssh user@ftp.domain_name.com git-receive-pack /folder/test.git
fatal: '/folder/test.git' does not appear to be a git repository
如果我在远程 git 文件夹中执行 ls
:
~/folder/test.git $ ls
branches config description HEAD hooks info objects refs
我刚刚尝试了我的 own tutorial(您向其寻求帮助)是否有效并且它仍然有效。我认为您理解本教程的方式或您的 Windows Git 配置存在问题。
这是我一步一步做的:
假设您在 OVH 的服务器主目录中有一个 git
文件夹。
在我的本地机器上:
$ mkdir test.git
$ cd test.git
$ git init --bare
$ cd ..
$ scp -r test.git {user}@ssh.cluster{XXX}.ovh.net:git
$ rm -rf test.git
如果您已经在这里遇到问题,那么您的 Git 配置肯定有问题。 然后,让我们使用新创建的 repo:
$ git clone {user}@ssh.cluster{XXX}.ovh.net:git/test.git
就是这样。
我没有任何特定的 Git 配置说明是否通过 SSH 等使用 HTTPS。
请记住,据我所知,OVH 服务器无法访问外部世界,除非通过 FTP 和 SSH。您可能想要验证这一点。
对于 OVH Hébergement Web mutualisé,我找到了以下解决方案。
-> 通过 PuTTYgen PuTTY Key Generator 生成 public/private 密钥对
-> 将您的 public 密钥添加到服务器的这个隐藏位置:
Mon Compte > Mes Services > Clés SSH > Ajouter clé SSH > Dédié
https://www.ovh.com/manager/dedicated/#/billing/autorenew/ssh
->使用Pageant(Putty认证代理),添加通过OVH manager配置的public密钥对应的私钥
-> 测试 SSH 是否有效:
从本地计算机命令提示符:
C:\gittest> ssh myusername@ftp.cluster006.ovh.net
它在输入与服务器上配置的 public 密钥相对应的私钥密码后,在远程计算机上提供 shell
-> 在远程机器上执行:
Welcome to OVH
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~ $ mkdir gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~ $ cd gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ git init
Dépôt Git vide initialisé dans /home/username/gittest/.git/
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ pwd
/homez.732/myusername/gittest
username@ssh02.cluster006.gra.hosting.ovh.net (php/7.3/production/stable) ~/gittest $ exit
!! homez.732
用于git clone
命令!!
-> 现在在本地机器上
C:\> git clone ssh://myusername@ssh.cluster006.hosting.ovh.net/homez.732/myusername/gittest/ -v
Cloning into 'gittest'...
remote: Décompte des objets: 3, fait.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
C:> cd gittest
C:\gittest>
在我的例子中,当我尝试不使用 homez.732
直接访问时失败
C:\> git clone ssh://username@ftp.cluster006.ovh.net:gittest/
Cloning into 'gittest'...
fatal: '/' 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.