Git ssh 配置及使用

2021-09-20 02:34:31 字數 3692 閱讀 8130

前言:前幾天在寫部落格 手把手教你用hexo + github 搭建自己部落格的時候,經常需要用到一些git操作,截了好多圖,於是就想乾脆整理成一系列的git 教程,總結如下

git 命令列教程及例項教程

git ssh 配置及使用

git ssh 配置多個賬戶

git config 使用說明

git 配置別名 —— 讓命令變得更簡單

這篇教程是在電腦上已經安裝好git的前提之上的,要進行以下配置,請先確保你的電腦已經安裝好git。以下配置步驟是在git bash裡面進行配置的,可以通過 右鍵》 git bash here 開啟

img在管理git專案上,很多時候都是直接使用https url轉殖到本地,當然也有有些人使用ssh url轉殖到本地。

這兩種方式的主要區別在於:使用https url轉殖對初學者來說會比較方便,複製https url然後到git bash裡面直接用clone命令轉殖到本地就好了,但是每次fetch和push**都需要輸入賬號和密碼,這也是https方式的麻煩之處。

而使用ssh url轉殖卻需要在轉殖之前先配置和新增好ssh key,因此,如果你想要使用ssh url轉殖的話,你必須是這個專案的擁有者。否則你是無法新增ssh key的,另外ssh預設是每次fetch和push**都不需要輸入賬號和密碼,如果你想要每次都輸入賬號密碼才能進行fetch和push也可以另外進行設定。前面的幾篇介紹git的部落格裡面採用的都是https的方式作為案例,

今天主要是講述如何配置使用ssh方式來提交和轉殖**。

大概可以分為一下幾個步驟

# 這裡的「xujun" 可以替換成自己的使用者名稱

git config --global user.name "xujun"

# 這裡的郵箱 [email protected] 替換成自己的郵箱

git config --global user.email "[email protected]"

cd ~/.ssh
接著輸入ls,

ls
列出該檔案下的檔案,看是否存在 id_isa 和 id_isa.pub 檔案(也可以是別的檔名,只要 yourname 和 yourname.pub 承兌存在),如果存在的話,證明已經存在 ssh key了,可以直接跳過 生成金鑰 這一步驟,

下圖是存在的情況下

img

# 這裡的郵箱 [email protected]  替換成自己的郵箱

ssh-keygen -t rsa -c "[email protected]"

連續3個回車。如果不需要密碼的話。

最後得到了兩個檔案:id_rsa和id_rsa.pub。

預設的儲存路徑是:

c:\users\administrator\.ssh
確保 ssh-agent 是可用的。ssh-agent是一種控制用來儲存公鑰身份驗證所使用的私鑰的程式,其實ssh-agent就是乙個金鑰管理器,執行ssh-agent以後,使用ssh-add將私鑰交給ssh-agent保管,其他程式需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。

img新增生成的 ssh key 到 ssh-agent。

ssh-add ~/.ssh/id_rsa
把id_rsa.pub檔案裡的內容複製到這裡

img

ssh -t [email protected]
你將會看到:

hi humingx! you』ve successfully authenticated, but github does not provide shell access.

如果看到hi後面是你的使用者名稱,就說明成功了。

img如果我之前的倉庫是用https提交的,那麼我現在想用ssh 的方式提交,怎麼辦呢 ,別急,下面就來教你怎樣操作了。

這裡同樣以我本機目錄下的g://test 倉庫為例子,

找到倉庫下 .git 資料夾下的config檔案,開啟,可以看到以下內容

[core]

repositoryformatversion = 0

filemode = false

bare = false

logallrefupdates = true

symlinks = false

ignorecase = true

[remote "origin"]

url =

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

將檔案中的 url = 更改為 url = [email protected]:gdutxiaoxu/test.git 即可。

修改後的檔案如下

[core]

repositoryformatversion = 0

filemode = false

bare = false

logallrefupdates = true

symlinks = false

ignorecase = true

[remote "origin"]

url = [email protected]:gdutxiaoxu/test.git

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

進入本地倉庫 ,增加 xujun.txt 檔案,提交,你會看到不需要再提交密碼了

Git ssh 配置及使用

一 設定git的 user.name 和 user.email 如果是第一次的話 git config global user.name 使用者名稱 git config global user.email 郵箱位址 git config global replace all user.name 使...

git ssh 配置和使用

git config global user.name humingx git config global user.email humingx yeah.net ssh keygen t rsa c humingx yeah.net 連續3個回車。如果不需要密碼的話。最後得到了兩個檔案 id rs...

git ssh 配置和使用

git config global user.name humingx git config global user.email humingx yeah.net ssh keygen t rsa c humingx yeah.net 連續3個回車。如果不需要密碼的話。最後得到了兩個檔案 id rs...