故障排除
SSH/HTTPS
使用 SSH 連線到遠端儲存庫時出現「Permission denied (publickey)」錯誤
首先,您需要確保以下幾點:
- URL 是否正確?
- 密鑰是否在本地機器中正確設置?
- 公鑰是否在遠端正確設置?
您可以透過執行以下指令,來驗證與 Backlog 遠端儲存庫對應的公鑰/密鑰設置:
$ ssh <space>@<space>.git.backlog.com
用您擁有的 Backlog 空間取代<space>
。(例如,對於空間demo.backlog.com
,它將是demo@demo.git.backlog.com
)
如果設定正確,您將看到以下輸出。如果您看到錯誤訊息,請重複上述步驟並確保您做對了。
Hi yourname! You've successfully authenticated, but Backlog does not provide
shell access.
Connection to git.backlog.com closed.
無法透過其 HTTPS URL 克隆遠端儲存庫
在舊版的 Git 上,您可能偶爾會在執行推送或拉取時遇到問題。建議您使用最新的 Git 版本或高於 v2 的版本。如果您使用的是 Source Tree 或 TortoiseGit 等 Git 客戶端,請使用相應客戶端附帶的 Git 版本。
每次我從遠端儲存庫推送/拉取時,我都會被要求輸入密碼
您可以透過下列設置避免多次輸入密碼。
Windows
您可以使用 git-credential-winstore,它只會在您第一次推送/拉取時詢問您的密碼。
Mac
您可以使用 Sourcetree (我們在前面的章節中介紹過) 與 Mac Keychain 連結。這將允許 Git 在您每次拉取或推送時找出要使用的憑證。
Console
在 Mac 上,您可以使用 Git 的 API 憑證,將使用者名稱/密碼與 Git 操作連結。如果您使用 Homebrew,Git API 憑證會自動安裝。否則,您將必須手動安裝它。
您可以使用以下指令檢查是否安裝了 API 憑證。
$ git credential-osxkeychain
Usage: git credential-osxkeychain <get|store|erase>
如果未安装 API 凭据,您将看到以下输出。
$ git credential-osxkeychain
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
在這種情況下,您可以下載它,並將檔案移動到 /usr/local/bin
。
$ curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
$ chmod u+x git-credential-osxkeychain
$ mv git-credential-osxkeychain /usr/local/bin
完成安裝後,執行以下指令以啟動 API 憑證。
git config --global credential.helper osxkeychain
推送到遠端儲存庫的更改沒有反映在那裡
執行推送時,您可能會遇到以下訊息。當您從新的本地儲存庫推送時,通常會發生這種情況。
$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'main'.
Everything up-to-date
透過在執行推送時省略分支名稱,Git 將預設假定您正在嘗試將目前更改推送到與本地分支同名的遠端分支。如果尚未在遠端儲存庫中建立主分支,則會發生這種情況。(我們從本地主分支推送。)在這種情況下,我們將必須在執行推送時明確使用分支名稱。
$ git push -u origin main
透過這樣做,主分支將自動在遠端儲存庫中建立。您下次執行推送時,可以省略分支名稱。