如果只是修改提交用户的话,网上很多资料。而且也就两句命令:

git config --global user.name "YOURUSERNAME" 
git config --global user.email "YOUREMAIL"

我遇到的情况:

1.colne了自己私人的一个项目到本地。我自己用的是码云。

2.设置了用户名、邮箱。修改并提交。

3.提交时,需要ssh,生成,并添加到git后台。

4.提交时,需要输入账号密码。我输入了我私人的账号和密码

5.私人项目提交成功!!!
问题:

当我拉取公司的gitlab项目的时候,没有权限。开始以为,公司项目也要添加ssh到公司的gitlab后台。然后问了主管。得到的回答是:公司项目,拉取和提交都是根据账号来设置权限的,根本不需要ssh。

那么解决方法就出来了,我只要把git的账号和密码修改为公司下发给我的账号和密码,即可解决问题。

结果网上一搜,全是,修改用户和邮箱。

真正有用的:

https://zhuanlan.zhihu.com/p/345915480

步骤1:

git config --local user.name "xxx" 
git config --local user.email "xxx" 

步骤2:

对于windows系统, 选择控制面板-》凭据管理器-》windows凭据,删除里面类似git相关的的用户信息。下图中以git打头的相关数据。 这样你在敲git push就会弹出对话框让你重新输入用户名和密码。 输入你要更改的用户名和密码就可以了哦。影响所有仓库!

或者:步骤2:

修改你本地git仓库里面的config文件。目录位于 .git -》config 文件 。在url前面手动输入用户名和密码 格式为 http://或者https://username:userpassword@具体的仓库地址(这里不要写协议名称,就是http,htthps). 示例 https://test:http://testpasswd@gitlab.test.com/test.git

此方法的好处就是不用删除控制面板里面的用户凭证,但只会影响一个git仓库,不会影响全体git仓库。如果用户密码有特殊字符,需要进行url编码。

 

按照以上步骤修改完了后,我再去colne,结果还是有问题。

最终办法:如果选择ssh还是不行,就选择http。

终于成功!!!

现在反过来一想,自己猜测:

用ssh的就需要生成本地ssh,然后添加到白名单,来控制push。

而用http的话,就不需要这一步,而是用权限来设置colne和push。

再次感谢大佬:

https://zhuanlan.zhihu.com/p/345915480

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐