【解決方案 九】git push不能執行,無權限提交項目

最近遇到一個比較難纏的問題是git push不能提交到遠程,總結了下各種可能,列到下邊來。

1 檢查SSH祕鑰

首先要檢查的就是自己是否有ssh的公鑰了,如果沒有公鑰綁定到gitlab倉庫,是沒辦法的。

  • 首先配置git的郵箱和用戶名,郵箱選擇公司郵箱、用戶名選擇域賬號,例如:配置名稱+郵箱

      git config --global user.name "tianmaolin"
      git config --global user.email "[email protected]"
    
  • 然後進行公鑰配置, ssh 生成與驗證 $ ssh-keygen -t rsa -C "[email protected]"輸入完畢後,程序同時要求輸入一個密語字符串(passphrase),空表示沒有密語。接着會讓輸入2次口令(password),空表示沒有口令。3次回車即可完成當前步驟

第2步的作用是用來生成Git的全局公鑰,生成公鑰後即可在如下地址獲取到全局公鑰:去自己的個人目錄下c盤>用戶>自己的用戶名>.ssh應該能看到名爲id_rsa.pub的文件,用notpad打開,把裏面的全部內容拷貝出來。接下來找到SSH設置,將拷貝到的內容粘貼進去:
在這裏插入圖片描述

2 檢查gitlab項目權限

主要驗證兩點,首先是是否項目開發,其次是是否有該項目權限:

首先確認項目是否有權限,是否爲Private,要注意對應的權限
在這裏插入圖片描述

其次確認自己是否有該項目的權限,如果是Master和Owner就沒有問題,如果是其它角色想往master分支上推,顯然不對。

3 檢查windows憑證

有的時候更新了密碼或者賬號,這個時候windows的憑證如果不更新,也是拉取不到的,在控制面板—用戶賬戶—憑據管理器—Windows憑據—普通憑據刪除掉gitlab的憑據,然後重新添加或者在git bash提醒的時候再次添加。

4 手動設置該代碼關聯的遠程地址

在項目路徑下執行該命令:git remote set-url origin xxxxxxxxxxxxx.git,執行完成之後應該就具備了該項目的訪問權限。相當於設置本地代碼關聯的遠程地址

解決方案持續更新中,如果大家遇到類似的問題也可以留言彙集。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章