最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git多賬號(hào)登錄問題解析

 更新時(shí)間:2016年07月18日 09:37:57   作者:白狼  
這篇文章主要介紹了git多賬號(hào)登錄問題解析及git多個(gè)賬戶沖突問題的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

同一服務(wù)器,同一托管平臺(tái),多個(gè)賬號(hào)問題

1、添加key

我們暫且以oschina為例。為了更好的說明問題,我們?cè)趏schina平臺(tái)分別用賬號(hào)111新建項(xiàng)目test111和賬號(hào)222新建項(xiàng)目test222,記得項(xiàng)目私有化哦,不然我們也沒啥說的了。

在我們想要把項(xiàng)目test111 clone下來之前,需要先按照下面的步驟設(shè)置關(guān)聯(lián)的key

ssh-keygen -t rsa -C "111@163.com" // 郵箱是賬號(hào)111對(duì)應(yīng)的郵箱

整個(gè)過程就回車完事,操作起來那是相當(dāng)?shù)暮?jiǎn)單!但是還沒完,可能你注意到了,回車的過程中,有一句話是這樣提示的:

Your public key has been saved in /root/.ssh/id_rsa.pub.

沒錯(cuò),我們現(xiàn)在打開這個(gè)文件

cat /root/.ssh/id_rsa.pub

拷貝文件里面的內(nèi)容, 然后打開 http://git.oschina.net/keys 這個(gè)頁面,新建key,把復(fù)制的內(nèi)容粘貼進(jìn)來就好了。

這樣一來,我們就把服務(wù)器上面的key跟oschina平臺(tái)進(jìn)行了關(guān)聯(lián)。

2、clone項(xiàng)目

接著我們通過git clone命令把test111項(xiàng)目clone下來,記得clone的地址是ssh而不是https哦,這個(gè)時(shí)候會(huì)提示我們輸入用戶名和密碼,其分別是oschina的賬號(hào)和密碼。

如果你手賤是以https的方式進(jìn)行clone的,可以通過下面的命令重新設(shè)置遠(yuǎn)程倉庫地址(沒有則可跳過此步驟)

// 移除之前的遠(yuǎn)程倉庫地址
git remote remove origin
// 新增遠(yuǎn)程倉庫地址為ssh,非https
git remote add origin git@git.oschina.net:wwolf/test111.git

3、多賬號(hào)兼容問題

到這里,對(duì)于test111項(xiàng)目pull push操作基本上都是沒有問題的了。如果說用戶222想在這臺(tái)服務(wù)器上面對(duì)項(xiàng)目test222進(jìn)行管理,我們直接執(zhí)行g(shù)it clone git@git.oschina.net:222/test222.git之后,報(bào)錯(cuò)了,提示如下:

Access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

為什么呢?首先最重要的問題肯定是key的問題了!因?yàn)槲覀冎安⑽磳釉谶@臺(tái)服務(wù)器增加key關(guān)聯(lián)到用戶222的oschina賬號(hào)!那我們就按照步驟1重新在服務(wù)器上為用戶222添加一個(gè)key吧,不過需要注意的是,我們的key保存的文件要重命名了,不然可就把用戶111創(chuàng)建的key覆蓋了!

ssh-keygen -t rsa -C "賬號(hào)222的郵箱@qq.com"
//接下來會(huì)提示我們想要把key保存在哪個(gè)文件,重新輸入文件名即可
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_2
//接著回車回車回車完事,重要的話說三遍!

然后我們登錄賬號(hào)222的oschina賬號(hào)添加key

但是問題出現(xiàn)了,這個(gè)時(shí)候我們重新clone test222依舊提示我們沒權(quán)限,怎么回事???本篇文章的中心主題曝光了!廢話了一堆,開始說重點(diǎn)--------------------------

其實(shí)這個(gè)時(shí)候我們clone test222項(xiàng)目時(shí),git是拿默認(rèn)的id_rsa.pub文件里面的key去對(duì)比的,這肯定是有問題的嘛,因?yàn)?22賬號(hào)并沒有添加這個(gè)key!那也就是說我們這里如果clone test222的時(shí)候讓git拿著id_rsa_2.pub文件里面的key去驗(yàn)證不就完事了么?是的,就是這樣!我們看實(shí)現(xiàn)步驟:

首先我們讓git識(shí)別我們新增的key

ssh-agent bash
ssh-add ~/.ssh/id_rsa_2

接著我們?cè)趡/.ssh/ 目錄下新建或者修改config文件

#Host 是你遠(yuǎn)程倉庫的地址,注意哦,如果有些服務(wù)器做的ip端口轉(zhuǎn)發(fā),這里不要帶上端口號(hào)
Host git.oschina.net
#HostName 是遠(yuǎn)程倉庫的地址,同樣如果做的端口轉(zhuǎn)發(fā)也不應(yīng)帶端口號(hào)
HostName git.oschina.net
#Port 端口號(hào),如果有做轉(zhuǎn)發(fā)需要在這里填寫端口號(hào),沒有就不必要填
#Port 8800
#用戶
User 111
#識(shí)別key的文件
IdentityFile ~/.ssh/id_rsa
#都指向同一個(gè)平臺(tái)的話,下面的Host需要做個(gè)處理,因?yàn)槲覀冊(cè)谟眠@個(gè)key的時(shí)候根據(jù)Host從上到下進(jìn)行查找,不做修改肯定會(huì)先查找到第一個(gè)key,依舊無效,隨便改就好了,其他參數(shù)不做特殊處理
Host git222.oschina.net
HostName git.oschina.net
#Port 8800
User 222
IdentityFile ~/.ssh/id_rsa_2

可以看到,我們對(duì)222用戶的Host做了處理,那么我們就需要修改下222的遠(yuǎn)程倉庫地址了

// 原倉庫地址
git@git.oschina.net:222/test222.git
// 修改為
git@git222.oschina.net:222/test222.git

也就是說這個(gè)時(shí)候用戶222只需要執(zhí)行命令

git clone git@git222.oschina.net:222/test222.git

就可以了!就可以了?。?!

cd test222/
//發(fā)現(xiàn)git pull git push也都沒有任何問題

同一服務(wù)器,不同托管平臺(tái),多個(gè)賬號(hào)問題

這多個(gè)平臺(tái)的問題基本上就簡(jiǎn)單了,為了舉例說明,我們用gitlab平臺(tái)的333賬號(hào)的項(xiàng)目test333進(jìn)行測(cè)試,注意哦,我們是注冊(cè)第三個(gè)賬號(hào)在上面兩個(gè)賬號(hào)的基礎(chǔ)之上進(jìn)行的測(cè)試

git clone git@gitlab.com:333/test333.git
// 可想而知,同樣是沒權(quán)

因?yàn)闆]那么多郵箱,我們注冊(cè)gitlab依舊使用的是用戶222的郵箱,不過這對(duì)我們的操作沒任何影響,無非就是多創(chuàng)建一個(gè)id_rsa_3文件而已,鑒于此,我們直接拷貝id_rsa_2.pub里面的key到gitlab平臺(tái)。

然后在~/.ssh/config文件內(nèi)添加gitlab平臺(tái)的配置即可

Host gitlab.com
HostName gitlab.com
#Port 8800
User 333
//因?yàn)間itlab的郵箱跟用戶222一致,這里用這個(gè)key,如果不一致,你仍然需要生成新的key,這里引用新的key文件
IdentityFile ~/.ssh/id_rsa_2

PS:Git多個(gè)賬戶沖突問題解決

由于自己有兩個(gè)github賬號(hào),最近在push項(xiàng)目時(shí),突然發(fā)現(xiàn)一直提示的permission denied. 細(xì)看原來是用的另外一個(gè)github的賬號(hào),不是當(dāng)前origin所在的github對(duì)應(yīng)的賬號(hào)。于是查找了一stackoverflow上面的解決方http://stackoverflow.com/questions/14689788/multiple-github-accounts-what-values-for-host-in-ssh-config。

清除git的全局設(shè)置

git config --global user.name "your_name"
git config --global user.email "your_email"

然后重新設(shè)置每個(gè)項(xiàng)目的非全局的用戶名和郵箱:

git config user.name "your_name" 
git config user.email "your_email" 

SSH配置

在~/.ssh目錄下面,使用ssh-keygen -C “your_email” -t rsa 生成公私秘鑰,當(dāng)有多個(gè)github賬號(hào)的時(shí)候,可以生成多組rsa的公司密鑰。然后配置~/.ssh/config文件(如果沒有的話請(qǐng)重新創(chuàng)建一個(gè)):

#第一個(gè)github項(xiàng)目賬號(hào) 
Host first_project 
HostName github.com 
User first_user 
IdentityFile ~/.ssh/id_rsa_first 
#第二個(gè)git項(xiàng)目賬號(hào) 
Host second_project
HostName github.com 
User second_user 
IdentityFile ~/.ssh/id_rsa_second 

從first項(xiàng)目拉取代碼:

git pull first master

相關(guān)文章

  • 使用shc工具加密shell腳本詳解

    使用shc工具加密shell腳本詳解

    這篇文章主要介紹了使用shc工具加密shell腳本詳解,Shc可以用來對(duì)shell腳本進(jìn)行加密,可以將shell腳本轉(zhuǎn)換為一個(gè)可執(zhí)行的二進(jìn)制文件,需要的朋友可以參考下
    2014-12-12
  • Linux啟動(dòng)新進(jìn)程的三種方法

    Linux啟動(dòng)新進(jìn)程的三種方法

    本篇文章主要介紹了Linux啟動(dòng)新進(jìn)程的三種方法以及這三種方法之間的區(qū)別。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • php-fpm開機(jī)自動(dòng)啟動(dòng)Shell腳本

    php-fpm開機(jī)自動(dòng)啟動(dòng)Shell腳本

    這篇文章主要介紹了php-fpm開機(jī)自動(dòng)啟動(dòng)Shell腳本,本文腳本只是范例,其實(shí)你編譯安裝完成后,啟動(dòng)腳本已經(jīng)生成在編譯目錄中,只需要復(fù)制出來用就可以了,需要的朋友可以參考下
    2015-06-06
  • bash判斷文件或文件夾是否存在的shell代碼

    bash判斷文件或文件夾是否存在的shell代碼

    這篇文章主要介紹了bash判斷文件或文件夾是否存在的shell代碼,需要的朋友可以參考下
    2017-05-05
  • Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop單機(jī)版和全分布式(集群)安裝

    Hadoop,分布式的大數(shù)據(jù)存儲(chǔ)和計(jì)算, 免費(fèi)開源,本文介紹Hadoop單機(jī)版、集群安裝步驟。
    2013-10-10
  • linux中shell的變量的數(shù)值計(jì)算

    linux中shell的變量的數(shù)值計(jì)算

    今天小編就為大家分享一篇關(guān)于linux中shell的變量的數(shù)值計(jì)算,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • linux shell中“.” 和 “./”執(zhí)行的區(qū)別詳解

    linux shell中“.” 和 “./”執(zhí)行的區(qū)別詳解

    這篇文章主要介紹了linux shell中“.” 和 “./”執(zhí)行的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • linux find命令之xargs簡(jiǎn)單概述

    linux find命令之xargs簡(jiǎn)單概述

    這篇文章主要為大家詳細(xì)介紹了linux find命令之xargs的簡(jiǎn)單使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解

    Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解

    這篇文章主要介紹了Shell腳本中的位置變量參數(shù)(特殊字符)實(shí)例講解,本文講解了$#、$* 、$$ 、$!、$@、$-、$?等特殊字符的作用,并給出使用實(shí)例,比較清晰和簡(jiǎn)潔,需要的朋友可以參考下
    2015-05-05
  • Shell腳本批量添加擴(kuò)展名的兩種方法分享

    Shell腳本批量添加擴(kuò)展名的兩種方法分享

    這篇文章主要介紹了Shell腳本批量添加擴(kuò)展名的兩種方法分享,本文講解了用rename命令修改后綴名、用for、sed和mv修改后綴名、用find和xargs添加后綴名等方法,需要的朋友可以參考下
    2014-11-11

最新評(píng)論

新巴尔虎右旗| 黄陵县| 昌宁县| 吕梁市| 长岛县| 顺义区| 定结县| 玉门市| 泸水县| 灵石县| 收藏| 德安县| 屯留县| 平乐县| 镶黄旗| 含山县| 双牌县| 怀集县| 高青县| 桂东县| 聊城市| 嘉善县| 天津市| 外汇| 福贡县| 江孜县| 江口县| 英山县| 浮梁县| 永安市| 哈密市| 富阳市| 青田县| 陆川县| 彭阳县| 永胜县| 松江区| 惠安县| 昌邑市| 资兴市| 五大连池市|