2014-04-28 71 views
4

我在CentOS上有一個LAMP系統設置。我也在同一臺服務器上安裝了git setup,其中有一個centralized workflow(我們剛剛從SVN轉移過來)。我有多個版本庫現在克隆在系統周圍,使用以下語法:爲什麼Git試圖連接到錯誤的主機?

git clone git:someexistingrepository.git 

這工作正常。現在,我有一個現有的目錄,我想將其轉換爲git working direcory。我遵循了從公認的答案到this question的指示。正如我一直在使用本地服務器,我用下面的命令:

git remote add origin git:myrepo.git 

myrepo.git已經設置有:

git init --bare myrepo.git 

我以前做過這個,我已經沒有任何問題,但是這次我做到了,當我跑:

git push -u origin master 
The authenticity of host 'git (173.192.58.115)' can't be established. 
RSA key fingerprint is b1:43:2f:b0:7e:2f:ba:74:6f:19:2e:b8:35:81:10:b6. 
Are you sure you want to continue connecting (yes/no)? ^C 

我擡起頭,該IP地址,它顯然是一個由git.co.uk使用 - 顯然無關,與我(或GIT)。是否有一些奇怪的行爲發生在這裏,或任何人都可以建議我可能有一些不正確的配置?我讀到,使用git:reponame.git是正確的方式(恐怕我找不到我對此讀到的SO問題) - 是這樣嗎?

更新

注:我使用了SSH協議,而不是飯桶。此外,config文件中.git看起來是這樣的:

[remote "origin"] 
     fetch = +refs/heads/*:refs/remotes/origin/* 
     url = git:somerepo.git 

是兩個克隆repositores和使用上述方法的人一樣,所以我不知道爲什麼一個被解析到該主機一個不是。使用git://給出了(預期)錯誤:

git clone git://bugs.git 
Initialized empty Git repository in /tmp/bugs/.git/ 
fatal: Unable to look up (port 9418) (Name or service not known) 

更新2

感謝來自奧斯卡·n中的提示和答案,我意識到root用戶,而其他用戶hadn」有這個問題T,我終於明白了,我原來在/ etc/skel中一些設置...

[[email protected] ~]$ cat .ssh/config 
Host git 
     Hostname localhost 
     User git 
     IdentityFile ~/.ssh/id_rsa 

所以,git的主機(和正確回答這個問題,謝謝!)。當我運行resolveip時,我在根屏幕上添加了一些內容到/var/www/,因爲它全部由root擁有。幸運的是,我的其他網站是由用戶設置的。

+0

我不是爲什麼它的解決方式不同,但我很確定問題是URL的「git:」部分。我編輯了我的回答ssh。 –

回答

3

存儲庫是一個URL。 「git:」部分意味着它應該查找主機名「git」,它在您的系統上解析爲git.co.uk.我相信你看到的SO問題實際上使用了git://這意味着使用git協議。

對於SSH,您應該使用絕對路徑的ssh://[email protected]/path/to/reponame.git或相對路徑的[email protected]:path/to/reponame.git。如果您在同一個系統上進行克隆,只需使用reponame.git作爲URL。

+0

看到我的問題進一步* facepalm *更新!感謝你的回答和評論,我意識到了這個問題,並認爲問題對我來說是當地人,你是絕對正確的。謝謝! – LeonardChallis

相關問題