在一台电脑上使用多个git账号

步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。 

?
1
ssh -keygen -t rsa -C "new email"


平时我们都是直接回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如:   id_rsa_new。

步骤二:配置~/.ssh/config文件,以我自己的机器为例。 

?
1
2
3
4
5
6
7
8
9
10
11
#Default Git
Host defaultgit
   HostName IP Address #域名也可
   User think
   IdentityFile ~/. ssh /id_rsa
 
#Second Git
Host secondgit
   HostName IP Address #域名也可
   User think
   IdentityFile ~/. ssh /id_rsa_second

Host就是每个SSH连接的单独代号,IdentityFile告诉SSH连接去读取哪个私钥。 

步骤三:执行ssh-agent让ssh识别新的私钥。 

?
1
ssh -add ~/. ssh /id_rsa_new


该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash命令后再执行ssh-add命令。

以后,在clone或者add remote的时候,需要把config文件中的host代替git@remoteaddress中的remoteaddress。 

同时,你可以通过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。 

?
1
2
3
4
5
git config user.name "newname"
git config user.email "newemail"
 
#git config --global --unset user.name 取消全局设置
#git config --global --unset user.email 取消全局设置


例子: 
?
1
2
3
4
5
6
#在同一机器不同目录下克隆远程同一个repo
cd /home/user1
git clone git@defaultgit:xxx.git
 
cd /home/user2
git clone git@secondgit:xxx.git
上面的两条clone命令,虽然关联到同一个repo,却是通过不同ssh连接,当然也是不同的git账号。
内容概要:本文围绕六自由度机械臂的人工神经网络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经网络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经网络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经网络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
### 配置不同Git账号提交代码(不使用SSH config) 在不使用SSH配置文件的前提下,可以通过为每个Git账号生成独立的SSH密钥,并在每次提交代码时手动指定SSH密钥来实现多个Git账号的管理。 #### 生成独立SSH密钥 为每个Git账号生成一组独立的SSH密钥。例如,针对GitHub和GitLab分别生成不同的密钥: ```bash # 生成GitHub账号的SSH密钥 ssh-keygen -t rsa -C "github@example.com" -f ~/.ssh/id_rsa_github # 生成GitLab账号的SSH密钥 ssh-keygen -t rsa -C "gitlab@example.com" -f ~/.ssh/id_rsa_gitlab ``` 生成密钥后,需要将对应的公钥内容(`.pub`文件)添加到对应平台的SSH密钥管理界面中。 #### 手动指定SSH密钥进行Git操作 每次执行Git操作时,可以通过`GIT_SSH_COMMAND`环境变量指定使用的SSH密钥。例如克隆仓库时可以这样操作: ```bash # 使用GitHub的SSH密钥克隆仓库 GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_github" git clone git@github.com:username/repo.git # 使用GitLab的SSH密钥克隆仓库 GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_gitlab" git clone git@gitlab.com:username/repo.git ``` 提交代码时,同样可以使用该方式指定SSH密钥: ```bash # 提交代码时指定GitHub的SSH密钥 GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_github" git push origin main # 提交代码时指定GitLab的SSH密钥 GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_gitlab" git push origin main ``` 这种方式避免了对`~/.ssh/config`文件的依赖,同时确保了不同账号之间的隔离性[^1]。 #### 配置本地仓库用户信息 每个Git仓库可以配置独立的用户名和邮箱信息,以确保提交记录与对应账号一致: ```bash cd repo_path git config user.name "GitHubUser" git config user.email "github@example.com" ``` 对于另一个仓库: ```bash cd another_repo_path git config user.name "GitLabUser" git config user.email "gitlab@example.com" ``` 通过这种方式,可以确保提交记录与对应的Git账号保持一致,避免混淆。 #### 简化操作方式 为了避免重复输入SSH密钥路径,可以将常用命令封装为别名: ```bash # ~/.bashrc 或 ~/.zshrc 中添加 alias git-github='GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_github" git' alias git-gitlab='GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_gitlab" git' ``` 然后执行: ```bash source ~/.bashrc # 或 source ~/.zshrc ``` 使用时可以直接运行: ```bash git-github clone git@github.com:username/repo.git git-gitlab clone git@gitlab.com:username/repo.git ``` 这样可以在不依赖SSH配置文件的前提下,灵活地管理多个Git账号。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值