git如何切换用户_git切换用户、多用户切换的正确方式 git commit和git push 切换用户...

由于最近自己搭建了一个GITLAB服务器,为了测试权限。所以会涉及到使用不用的用户进行git commit 和git push 操作。

通过百度搜索以后,发现绝大部分给的答案是:

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

通过实验以后发现。这种方式并不能完全切换用户。这样的方式只会影响到git commit的时候的用户。 对于git push时候用到的用户是完全没有用的。

而且git config --global 这个命令也并不完全正确。 如果你的git本地路径有local配置信息,那么git config --global 这个命令对于git commit 时候的用户也起不到修改作用。

下面来分析一下问题原因:

  1. git config --global 这个命令只是改变git的全局配置文件。 实际上面有git 有三种配置文件, local 、global 、sysytem。 他们的优先级是local > global > system , 很显然如果你的本地git目录下面有local的配置,这条命令并不能改变你git commit 时候用到的用户名。
  2. git commit git push 对于windows来说是实际用到的是两套用户信息。linux和mac应该也是,只是没有实验过。

正确的步骤:

步骤一: 更改git commit的时候用到的用户信息

git config --local user.name "xxx" git config --local user.email "xxx" git config --global user.name "xxx" //非必须执行 git config --global user.email "xxx" //非必须执行

后面的git config --global 两条命令不一定要执行,刚才的配置文件已经说明了优先级。

步骤二:更改git push的的时候用到的用户信息。

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

bd3dbe858638d071ac60450e7b9fc4ff.png

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

c6adfac14632176e9e815708fd81c265.png

使用方式二, 就不用删除控制面板里面的用户凭证,但只会影响一个git仓库,不会影响全体git仓库。 方式一会影响所有git仓库。

使用方式二,如果用户密码有特殊字符,需要进行url编码。附常用符号编码

字符URL编码
(空格)%20
"%22
#%23
%%25
&%26
(%28
)%29
+%2B
,%2C
/%2F
:%3A
;%3B
<%3C
=%3D
>%3E
?%3F
@%40
%5C
|%7C
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值