2016-03-12 10 views
3

我最初的問題的懸崖筆記是,我有一個論文項目回購託管在GitHub上,我使用多臺機器進行讀取和寫入回購。我有我的家用臺式機,筆記本電腦,我的教授在他的機器上使用回購,並且我們有我們的「生產」服務器。我們通過Win7,Win8.1和Ubuntu 14.04在我們的個人計算機上使用此回購版。在所有這些系統中,我們使用以下遠程網址:爲什麼我的Git遠程URL只需要在某些系統中包含我的用戶名?

https://github.com/[my-user-name]/thesis.git

...和它完全適用於推拉對我們的回購。但是,在生產服務器上,使用CentOS 6.x(不知道是否重要),我們得到了錯誤403 Forbidden,甚至沒有機會嘗試提供用戶名或密碼。解決此一段時間(作爲一個整體的n00b)後,我終於發現,CentOS的機器上只有我必須使用遠程網址:

https://[my-user-name]@github.com/[my-user-name]/thesis.git

爲什麼會是這種情況只一個我們的機器有嗎?

更新:下面

VonC的答案是得到問題的根源的理解很有幫助。儘管事實上yum update報告它是最新的,但我在CentOS 6.x上的Git版本仍然落後於當前版本。

CentOS回購已知落後於最新的軟件包。以Git爲例,Git I的最新版本可以通過CentOS 6的基礎知識庫獲得,它的版本是1.7.1,它是的方式,其路徑是。我嘗試了大量解決方案,包括VonC在下面列出的有用答案中列出的解決方案,例如使用rpmforge存儲庫覆蓋基礎並安裝Git的更新版本以及未列出的其他版本,這些都無濟於事。我的下一步是嘗試從源代碼構建Git,如果有任何結果,我會報告結果。

回答

3

正如在GitHub幫助頁面「HTTPS cloning errors」中提到的,這是因爲你的CentOS 6.x有一箇舊的git版本。 (類型git --version確認)

如果你可以在那裏升級git,你不需要把你的用戶名附加到url。
如果您無法升級,更改遠程URL以添加您的用戶名確實是一種解決方法。

git remote set-url origin https://[email protected]/user/repo.git 

您也可以嘗試添加您的用戶名任何 github上網址:

git config --global credential.https://github.com.username YOUR_USERNAME 

但如果Git是太舊了,那最後的命令甚至可能不被支持。

+0

我測試過了Git使用'yum的更新update' ...事實證明,CentOS回購並不包含最新版本(很多應用程序),所以'yum'說Git是最新的,即使它有很多版本。總之,我假設你的回答是正確的(解決方法確實有效),但是在2小時的回購更新和解決方法之後,似乎這將起作用的唯一方式是通過從源代碼構建Git,我將不得不再次嘗試。 – Steverino

+1

@fts_acer也許這可以幫助:http://stackoverflow.com/q/21820715/6309 – VonC

+0

謝謝,我沒有嘗試按照那裏的答案,以及3或4其他SO線程和3或4其他教程由其他專注於CentOS和/或Git和/或RPMForge的網站都無濟於事。我會稍後嘗試從源代碼構建並驗證它的工作原理,但現在將我的帳戶名添加到遠程URL的解決方法足以滿足我的需求。 :) – Steverino

相關問題