问题原因
这种推送代码出现和自己的账号不一致的问题,一般是电脑遗留问题。
一般就是使用公司配发的电脑,实际上是前面同事使用的电脑。
之前同事配置的git的账号保留未删除或者修改,导致你修改推送的记录变成了之前同事的账号,
我自己碰到了两次了,第一次照着教程走了一次,解决了,第二次出现了问题,再使用不好使了。
教程是这样的:
查看当前的全局git账户
git config --global user.name
查看全局账户邮箱
git config --global user.email
果然不是我,然后怎么修改呢?
很简单,就是查询的后面加上自己的就好了,可以加双引号,也可以不加
比如
我叫秋时,用户名为: qiushi
邮箱是 2474006498@qq.com
git config --global user.name qiushi
或者加双引号,或者是汉字,都可以
git config --global user.name ”秋时“
然后邮箱同理
git config --global user.email 2474006498@qq.com
再用上面的方式查看当前账号,是不是发现变成自己的了?
推送到测试项目里面试试。
还是不行?
那就是你之前的同事使用了单独的项目配置,没有使用全局的账号配置,全局的配置的优先级毕竟要低一点,学了这个配置之后,你就可以不同的项目配置不同的账号推送咯。
【手动狗头】那怎么看呢?
很简单,比全局配置简单一点,去掉global就行了,当然必须要在项目的目录下面操作
【就是当前文件夹下面有 .git隐藏文件的这里】
比如,你先查看当前的项目配置。
git config user.name
查看配置的邮箱
git config user.email
是不是比全局配置的简单了一点,同样的设置也是查看命令的后面追加就行,同样可以用双引号或者不用。
问题应该就解决了,你再推送到测试项目,试试?
但是,如果推送的头像不是你自己的头像,比如gitlab上面的头像显示的不是你自己,这就表示你还是没有完全的修改成功。
但是这样可以让别人吓一跳,因为会发现离职的同事还在继续的推送代码【刺激】,我遇到的问题就是这个,前面讲的方法都不好使了,我全部都配置了一次,检查了一次。
还删除了本地的.ssh文件,重新生成了秘钥试了一次,删除完.ssh文件夹,重新生成秘钥的命令是:
【邮箱肯定要用自己的啊!别拷我的】
ssh-keygen -t rsa -C "2474006498@qq.com"
但是发现还是无用,我想着可能会有很多人会碰到这个问题,就写出来,帮助大家节约时间。
其实这个问题的原因非常简单,就是你没有删除原来的工程-【难受】
重要的事情说三遍!!!
新接手的项目,一定要自己从git上拉,不然提交的记录就不是你自己的,虽然账号名称和邮箱都是你的,但是gitlab不认为是你的,他会识别为同一个人。
为啥,这么牛逼,能识别同一台电脑?
其实不是,因为是私有的项目,拉取的时候需要使用账号拉取,就是拉取的时候的用户是保存在git里面,然后你后续推送的时候不需要再填写用户名密码,其实就是默认使用拉取的账号再进行推送。
所以,你肯定想问的是:怎么拉取项目来着。【狗头】
你clone的时候,一般可以拿到的地址是这样的:
【http的比较好用】
http://git.xxx.com/backend/prpject.git
然后,我们拉取远端的qiushi分支,使用的账号是qiushi【就是你的gitlab的登录账号,码云的一般是手机号码】,
使用命令 git clone -b 指定分支名 拿到的clone地址,
把自己的账号加到http://后面,加上@
git clone -b qiushi http://qiushi@git.xxx.com/backend/prpject.git
然后回车,第一次回提示输入密码吗,然后输入密码完成clone。
这样你的推送记录就都是你的了。
有帮助么?点个赞呗。【关注更好丫】