The remote repository rejected commits

有同學在將 Xcode 專案上傳到 GitHub 時失敗了,如下圖所示,錯誤訊息顯示 The remote repository rejected commits,Make sure you have permission to push to the remote repository and try again。

明明沒做虧心事,明明是自己的帳號,為何它會說我們沒有權限呢 ?

其實這和當初你在 GitHub 設定的 email 權限有關,讓我們連到 GitHub 網站一探究竟。

  1. 點選右上角的個人頭像,點選 Settings 進入設定頁面。

2. 切換到 Emails 頁面,找到 Keep my email address private,問題正出在它。因為你裝神秘,勾選了它,不想讓別人知道你的 email, 但它卻連帶地同時勾選下方的選項,Block command line pushes that expose my email,造成你無法上傳。因為你上傳的時候,會讓別人知道你的 email,也就違反了不想公開的約定。

解決的方法很簡單,只要取消勾選 Block command line pushes that expose my email ,即可順利地將專案上傳。

--

--

彼得潘的 iOS App Neverland
彼得潘的 Swift iOS App 開發問題解答集

彼得潘的iOS App程式設計入門,文組生的iOS App程式設計入門講師,彼得潘的 Swift 程式設計入門,App程式設計入門作者,http://apppeterpan.strikingly.com