Git配置SSH及通過IDEA連接GitLab方法總結


Git配置SSH及通過IDEA連接GitLab方法總結

寫在前面:
還記得大學畢業來到公司那一陣子,老大叫我配置Git環境,並且通過SSH連接GitLab來上傳和拉取代碼。當時我整了一個下午還是沒能配置好。一個方面是自己能力實在是太差了,另一個方面是網上有些方法都比較亂、不夠詳細。前幾天我的Git工具出現了莫名其妙的錯誤(能夠拉取新代碼、當時上傳代碼卻失敗了),於是我重新配置了SSH。后面決定寫一篇博客來記錄一下。
開始配置
1、下載並且安裝git
2、第一次配置SSH
(1)打開Git Bash,若是首次安裝使用git,先配置用戶名稱和郵箱

git config --global user.name "姓名"
git config --global user.email "郵箱地址"

   
   
   
           
  • 1
  • 2

如果不是首次使用git,那么可以先查看自己的用戶名以及郵箱:

git config user.name
git config user.email

   
   
   
           
  • 1
  • 2

(2)生成密鑰

ssh-keygen -t rsa -C "你的郵箱地址"

   
   
   
           
  • 1

默認路徑及生成的文件如下:
在這里插入圖片描述
(3)用筆記本打開id_rsa.pub,並且復制里面的密鑰
(4)打開GitLab,點擊右上角的那個人物頭像–點擊Settings,出現下面的頁面,點擊SSH Keys,並且把(3)中復制過來的密鑰粘貼
在這里插入圖片描述在這里插入圖片描述(5)打開IDEA,並且下載IDEA插件GitLab Projects(不會安裝IDEA插件的自動百度),安裝完成后如圖:

在這里插入圖片描述(6)在IDEA中新增SSH。首先點擊Version Control—>GitLab–>Add New GitLab Server(具體可以參照上面和下圖)
在這里插入圖片描述
在這里插入圖片描述GitLab中Token獲取的方法
在這里插入圖片描述現在SSH的配置、IDEA配置GitLab已經配置成功了。
(7)再補充一下,代碼的上傳和拉取吧
上傳:
鼠標右擊項目–>Get–>add–>Commit Directory—>輸入Commit Message–>Commit and Push—>Push–>上傳成功
拉取新代碼:
直接通過這個圖標拉取代碼
在這里插入圖片描述

最后補充一下最近發現的問題

在這里插入圖片描述問題產生的導火線:IDEA彈出GitLab用戶名和郵箱的輸入框,估計是校驗過時了,所以需要重新校驗一次。當時我正忙着開發,就憑記憶輸入了用戶名和郵箱,結果輸入的信息不正確,導致IDEA只能拉取到最新的代碼卻不能上傳。
(1)問題分析
首先,我想到的是應該是SSH配置失效了,后面直接上GitLab上面配置SSH以后,發現好像SSH默認的失效時間是很長的,幾乎都是10年以上,所以這個想法的可能性太低了;
其次,因為太懶了,懶得重新配置SSH(雖然配置很簡單)。我這次想到的是可能是GitLab Project這個插件出現了問題。后面就重新安裝插件,問題還是沒有解決。
然后,我嘗試着再次從GitLab上面拉取代碼(git clone 一下),結果發現還是沒能解決問題。這一步也是我最致命的一步(在腦子里面反應就是重新git clone代碼是不能解決問題的!!!)
再然后,我請求我老大幫忙,我老大說,你直接用命令行提交看看,如果還是不行,說明是你的環境有問題。可是我對Git命令不熟悉啊,后面通過百度終於發現了有用的命令(網上命令太多,不敢輕易使用,萬一出現問題,那可麻煩了):
先看看狀態

git status

   
   
   
           
  • 1

提交

git push origin dev_2.9.0

   
   
   
           
  • 1

結果發現了我的問題:正如導火線上面所說的,我輸入的信息不對,所以造成了這個問題。
(2)解決問題
1)重置用戶名和郵箱
2)重新生成SSH
3)IDEA配置GitLab

再次出現坑

我配置的郵箱是根據GitLab上面的郵箱(后綴名是ldap)進行配置的,然而我們公司真正使用的是.com或者.cn的后綴的郵箱。我又在這個坑里面徘徊了一段時間。后來聽到我同事說我們公司說,我才反應過來。后面又重新配置了一次環境。本來以為這個能成功。結果又發現了問題。

再次出現坑

反復檢查了環境配置,發現環境是對的呀,拉取代碼也是能夠拉取的。當時為啥上傳的時候上傳不了呢???突然感覺剛剛做的事情白白做了!!!絕望啊。我在之前拉取的項目下面反復刷新代碼,還是不行。我沒有重新git clone的原因是,在此之前我已經認為git clone項目下來沒用的了!看上面的問題分析第三點,如圖:
在這里插入圖片描述

解決問題

重新從GitLab上面 git clone項目下來,天啊。然后激動的重新嘗試提交代碼,終於提交成功了;

問題分析Token問題
假設之前的用戶名(也就是IDEA還沒彈框叫我重新輸入用戶名以及郵箱的時候)是“zhangsan",在彈出框彈出后我輸入的用戶名是xiaosan。因為如果不重新git clone 代碼的話,這個項目代碼還是之前的那個用戶名所拉取的代碼,能夠拉取新代碼的原因是IDEA里面還存在的之前的token。再提交代碼失敗,因為IDEA里面存着的用戶名和郵箱與我們通過Git設置的用戶名和郵箱不匹配。

新姿勢
(1)通過Git命令修改用戶名和郵箱
(2)新配置SSH
(3)重新git clone代碼

https://blog.csdn.net/qq_37606901/article/details/103324509


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM