[Sourcetree] 使用Sourcetree通過(guò)SSH管理項(xiàng)目

之前使用Sourcetree都是通過(guò)HTTP/HTTPS的方式來(lái)管理項(xiàng)目,大多都是托管到GitHub碼云等平臺(tái),最近在使用公司搭建的Git服務(wù)器時(shí),總是遇到權(quán)限的問(wèn)題而不能pull/push代碼,不知道是不是因?yàn)槭褂玫腍TTP的原因,最后考慮使用SSH的方式來(lái)管理項(xiàng)目代碼。

使用SSH,就需要在本機(jī)生成公私鑰,然后配置到相關(guān)的管理平臺(tái),這里GitLib 和 GitHub 來(lái)進(jìn)行說(shuō)明。

生成SSH公私鑰

打開(kāi)電腦終端,輸入以下SSH指令:

ssh-keygen -t rsa -C "gitSSH"
  • -t 指定密鑰類(lèi)型,默認(rèn)是 rsa ,可以省略。
  • -C 設(shè)置注釋文字,比如郵箱。
  • -f 指定密鑰文件存儲(chǔ)文件名

如果不使用 -f 來(lái)指定文件名稱(chēng),會(huì)輸出如下來(lái)要求輸入文件名稱(chēng):

# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

也可以不輸入,直接回車(chē),就會(huì)生成默認(rèn)文件名 id_rsa(私鑰) 和 id_rsa.pub(公鑰) 兩個(gè)秘鑰文件,推薦使用默認(rèn)名稱(chēng)。

打開(kāi)公鑰:

cat ~/.ssh/id_rsa.pub

復(fù)制輸出的字符串即可!

或者直接到.ssh文件夾找到id_rsa.pub(公鑰)文件,使用文本打開(kāi):
打開(kāi)Finder -> 前往 -> 個(gè)人
在此文件夾下會(huì)生成一個(gè).ssh 文件夾,里面包含有生成的公私鑰文件。
可以看到該文件夾默認(rèn)是隱藏掉的,如果找不到,可以在終端使用以下指令,顯示隱藏的文件夾:

defaults write com.apple.finder AppleShowAllFiles -bool true

PS:如果需要隱藏,將指令的最后的值改為false即可

配置公私鑰

打開(kāi)GitLib,點(diǎn)擊導(dǎo)航最右側(cè)的用戶(hù)頭像,在下拉列表中選擇 Settings :

打開(kāi)的用戶(hù)設(shè)置中,左側(cè)有SSH Keys選項(xiàng):

SSH Keys

將公鑰復(fù)制粘貼到 key內(nèi)即可,title可自定義,也可使用粘貼后的默認(rèn)名稱(chēng),默認(rèn)是在輸入指令是 -C 指定的說(shuō)明字符串。

如果是使用的Github,同樣點(diǎn)擊最右側(cè)用戶(hù)頭像,在下拉列表中選擇 Settings ,在打開(kāi)的頁(yè)面右側(cè)選擇 SSH and GPG keys

然后選擇New SSH key 即可!

使用Sourcetree 管理SSH

可以通過(guò)打開(kāi)的項(xiàng)目主頁(yè),右側(cè)的設(shè)置選項(xiàng),查看當(dāng)前使用何種方式來(lái)管理的項(xiàng)目,即遠(yuǎn)程Git倉(cāng)庫(kù)地址:

可以看到現(xiàn)在使用的是HTTPS的遠(yuǎn)程地址。

切換為SSH:方式一

Sourcetree 支持HTTPS和SSH的相互轉(zhuǎn)換,在標(biāo)簽頁(yè),選擇需要切換的標(biāo)簽,右鍵,選擇轉(zhuǎn)換成 SSH

轉(zhuǎn)換為SSH

此時(shí),再去看遠(yuǎn)程倉(cāng)庫(kù)地址,就已經(jīng)變?yōu)镾SH的倉(cāng)庫(kù)地址了:


此時(shí),再在標(biāo)簽頁(yè),右鍵,可以看到轉(zhuǎn)換成 SSH 選項(xiàng)變成 轉(zhuǎn)換成 HTTPS選項(xiàng)了,再次選擇可以切換回HTTPS方式。

以上是使用Github的鏈接地址來(lái)進(jìn)行的,但是在使用Gitlib地址的時(shí)候,轉(zhuǎn)換就不成功,目前能夠想到的原因是,我們的Gitlib使用的是HTTP的鏈接,而不是HTTPS,可能兩者之間不能直接轉(zhuǎn)換,而我們的本地倉(cāng)庫(kù)沒(méi)有配置HTTPS,因此這個(gè)方法,暫時(shí)不能采用了。如果你們的Git倉(cāng)庫(kù)是HTTPS方式的,這樣切換應(yīng)該是沒(méi)有問(wèn)題的。那么,使用HTTP的就看方式二吧。

切換為SSH:方式二

打開(kāi)本地的項(xiàng)目文件夾,在根目錄下會(huì)有一個(gè).git文件夾,這個(gè)文件夾默認(rèn)也是隱藏的,怎么查看隱藏文件夾,看上面第一部分的指令。

打開(kāi)文件夾,找到config文件,使用文本打開(kāi):
其中,有一項(xiàng):[remote "origin"],將其中的url換成SSH地址即可:

然后,再打開(kāi)Sourcetree,就可以使用SSH的方式來(lái)管理項(xiàng)目了。

PS: 也可以不顯示隱藏文件,或者找不到config文件,可以點(diǎn)擊上圖中 編輯配置文件... 按鈕,會(huì)打開(kāi)當(dāng)前項(xiàng)目的Git配置文件。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容