[英]SourceTree GUI can't push, terminal can push
以下問題:當我提交內容時,我無法通過單擊 GUI 按鈕來推送它們,我收到此錯誤消息:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master 推送到 ssh://xxxxx@git.mydomain.de/srv/git/MyFolder/MyProject.git
致命:無法從遠程存儲庫讀取。
請確保您擁有正確的訪問權限並且存儲庫存在。
當我從此錯誤消息中復制完全相同的命令並單擊“終端”按鈕並將其粘貼到那里時,它按預期工作,沒有任何錯誤。
我做錯了什么?
我猜 SourceTree 無法從遠程存儲庫讀取,因為它無法對您進行身份驗證。
確保 SourceTree 可以訪問您的 ssh 密鑰。 您可以使用pagent來做到這一點。
通過將“ SSH 客戶端配置”更改為OpenSSH
並設置您的id_dsa
,它將被修復(應首先創建 SSH 密鑰並將其添加到 gitlab)。
轉到Tools
-> Options
-> General
:在SSH 客戶端配置中將SSH 客戶端設置為OpenSSH
,為SSH 密鑰選擇您的id_dsa
。
如果您不使用 SSH,則另一種解決方案是通過 github 的配置文件下拉菜單 > 設置 > 開發人員設置 > 個人訪問令牌創建個人訪問令牌。
在那里您可以允許您想要使用的所有權限。 然后在 Sourcetree 應用程序中,轉到您擁有 Github 帳戶的位置,對其進行編輯,為 Auth Type 選擇 basic 並粘貼您從 Github 獲得的個人訪問令牌,然后單擊保存。 現在嘗試您想要的以前不起作用的 git 操作,它現在應該可以工作了,因為現在您將能夠通過 Github 進行身份驗證。
我遇到了同樣的問題,即未通過身份驗證並需要創建此訪問令牌,因為錯誤表明 Sourcetree 有更新,並且我無法像以前一樣使用我的 Github 密碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.