2015-11-20 80 views
0

我跟着this tutorial (in french),這很好解釋和可以理解。我有GIT知識,因爲我使用自己的服務器在Gitlab中編譯我的項目。在OVH「Mutualisé」(共享)部署GIT項目

我被要求查看項目的進度。因此,我嘗試了幾天在共享主機OVH(PRO帳戶)上安裝GIT。

最終目標是重現本教程中解釋的內容,並直接在OVH服務器上合併代碼。

我按照步驟操作。

  1. 我初始化服務器上​​的git:git init --bare
  2. 我然後創建一個本地文件夾,我把它堅持到遠程的git:git remote add origin ssh://[email protected]_name.com/folder/test.git
  3. 然後我嘗試與遠程推送本地代碼: 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' '[email protected]_name.com' 'git-receive-pack '\''/folder/test.git'\''' 
fatal: protocol error: bad line length character: Usin 

編輯 2:運行另一個命令:

ssh [email protected]_name.com git-receive-pack folder/test.git 
00700000000000000000000000000000000000000000 capabilities^{} report-status delete-refs side-band-64k ofs-delta 
0000 

或(從根/folder):

ssh [email protected]_name.com git-receive-pack /folder/test.git 
fatal: '/folder/test.git' does not appear to be a git repository 

如果我做一個ls遠程git的文件夾:

~/folder/test.git $ ls 
    branches config description HEAD hooks info objects refs 
+0

可能重複的[Git遠程:錯誤:致命:協議錯誤:壞行長度字符:Unab](http://stackoverflow.com/questions/8170436/git-remote-error-fatal-protocol-error-bad -line-length-character-unab) –

+0

嘗試使用'GIT_TRACE = 2'和'GIT_TRACE_PACKET = 2'運行命令:'GIT_TRACE = 2 GIT_TRACE_PACKET = 2 git push origin master'。這將導致Git吐出大量的調試信息,這可能會幫助您更好地理解正在發生的事情。 – jszakmeister

+0

@jszakmeister謝謝。事實上,得到了更多的解釋錯誤。請參閱我的更新後的文章 – Zl3n

回答

1

我只是想我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 clone {user}@ssh.cluster{XXX}.ovh.net:git/test.git 

就是這樣。

我沒有任何特定的Git配置,說明是否使用HTTPS通過SSH等。

請記住,據我所知,除非通過FTP和SSH,否則OVH服務器無法訪問外部世界。你可能想驗證這個壽命。