2015-09-28 66 views
8

升級到Xcode 7的一個不愉快的副作用是我無法再推送到我的Gitlab倉庫。在過去的兩年中,我一直在努力推動自己的項目順利進行,所以我懷疑Xcode 7正在做一些不同的事情。我已經通過Web界面登錄和登出,驗證了我的u/p for Gitlab。當我去Xcode>首選項>帳戶,選擇gitlab項目,我看到用戶名和密碼在那裏(就像他們已經2年),我確認他們是正確的。無法從xcode 7推送到gitlab

值得注意的是,我可以從終端成功發佈,但是,我不希望使用終端將我的代碼定期推送到Gitlab。有沒有其他人遇到這個問題,因爲升級?有關修復的任何建議?

我得到的具體錯誤是「驗證失敗,因爲用戶名或密碼不正確。」這個錯誤出現在Accounts對話框中,以及在嘗試執行gitlab repo之後。

+0

我甚至已經在這種情況下使用終端升級後Xcode7 – ThisClark

+0

問題,也許是因爲XCode7考慮不同的家嗎?正如我在http://stackoverflow.com/a/32795999/6309中所見。 – VonC

回答

7

所以這一塊是很搏鬥,並說實話,我不知道這是什麼錯誤的根本原因是熊市,但我的方式解決它是這樣的:

  1. 打消了我的老從GitLab ssh密鑰
  2. 創建命令行上的新ssh密鑰,然後將其加入到GitLab
  3. 移除在Xcode>首GitLab回購>帳戶
  4. 重新加入GitLab帳戶,使用所述SSH密鑰選項(之前也是這樣,這不是新的)
  5. 封閉的Xcode
  6. 吹散了項目
  7. 開業的Xcode的工作目錄,然後選擇源代碼控制>結帳
  8. 的SSH地址(你可以從GitLab你的項目文件夾中獲得)
  9. 製造一個微小的變化對項目進行測試,以推進
  10. 通過Xcode的源代碼控制被推到GitLab能力的目的>推

瞧!工作。這絕對是核選擇,但它讓我再次工作。我堅信升級Xcode到7會搞砸了。如果其他人有這個問題,我希望這可以解決它!

2

我發現Xcode 7不喜歡在URL中傾斜「〜」了。請運行「git config --list」並檢查URL。例如,我的遠程URL是這樣的:

ssh://[email protected]/~/product1.git 

我運行下面的命令後的Xcode可以把罰款:

git remote set-url origin ssh://[email protected]/home/nobody/product1.git 

git config branch.master.remote ssh://[email protected]/home/nobody/product1.git 
1

我的問題是,Xcode中使用了錯誤的密鑰文件的嘗試:的.ssh/id_rsa代替的.ssh/id_dsa的

3

和Xcode 7

同樣的問題,我設法通過重新生成RSA密鑰和Gitlab更新它們來解決這個問題。

編輯:不幸的是這個工作只有1次

EDIT2:更改SSH密鑰後工作一次「正確的開箱即用」後,第二次我得到的登錄憑證的問題,對話您可以在用戶名/密碼和SSH密鑰之間進行選擇。選擇SSH密鑰然後工作。之後,對話框不再出現。

因此,要總結:

  1. 的XCode推Gitlab不工作(要求登錄憑據,SSH密鑰不工作)
  2. 再生SSH RSA密鑰,並將其添加到Gitlab(我刪除了舊的)
  3. 然後沒有對話框
  4. 下一次的xcode推工作要求通過SSH密鑰的任何用戶名/密碼登錄
  5. 選擇SSH密鑰的工作
  6. 之後,登錄對話框不再出現
+0

你能發佈更多的細節嗎? – adao7000

+1

是的,我更新了我的帖子,因爲我今天早上發現行爲有點複雜;-) –

1

我的問題是,id_rsa是一個符號鏈接。

我的.ssh/id_rsa文件是另一個文件的符號鏈接。在xcode中,我將這個符號鏈接指定爲我的ssh私鑰文件。

在這個配置中,git pull正在工作,但git push失敗。

然後,在xcode中,我將ssh私鑰文件更改爲指向常規文件(符號鏈接指向的文件)。瞧,推拉現在都在工作。

的Xcode 8.1版(8B62)