如果只是修改提交用户的话,网上很多资料。而且也就两句命令:
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