背景
小明临时要对A项目做一些小改动,但是小明只有A项目的pull权限,没有push权限;但此时有另一个小伙伴提供了另一个账号给小明用于push A项目;于是小明通过以下操作,设置了对A项目推送代码时用的是另一个账号进行权限校验。而对其他项目操作时都是原有的默认配置;
操作
-
假定这个super账号邮箱地址为yourName@coompany.cn -
生成公私钥 cd ~/.ssh; ssh-keygen -t ed25519 -C “super@coompany.cn”; (设置名称,注意不要覆盖已有的公私钥文件) -
把公钥复制到gitlab账号中。 mac系统复制命令: tr -d ‘\n’ < ~/.ssh/id_ed25519.pub | pbcopy (id_ed25519.pub是上述2步骤生成的公钥文件名) -
在~/.ssh目录下新建config文件(用于配置多个账号的认证)
Host yourName.git.coompany.cn
Hostname git.coompany.cn
PreferredAuthentications publickey
IdentityFile ~/.ssh/example_ssh_key1
Host: 一个标识用于区分多个用户; Hostname:贵司gitlab平台的域名 PreferredAuthentications:固定值publickey IdentityFile:上述2步骤生成的私钥文件路径 5. 在A项目添加一个远程仓库的新源
git remote add newOrigin git@yourName.git.coompany.cn:projects-url.git
- 使用git push newOrigin 命令进行代码推送
|