Windows git https 方式如何实现同时推送到多个仓库,并根据每个仓库设置一个单独的提交用户名

```
[remote "github"]
    url = https://github.com/jock/test
    fetch = +refs/heads/*:refs/remotes/origin/*
       
[remote "gitlab"]
    url = https://gitlab.com/test
    fetch = +refs/heads/*:refs/remotes/origin/*|
```


我如何能为 github gitlab 分别设置对应的提交用户名

```
github:github-username

gitlab: gilab-username
```
举报· 115 次点击
登录 注册 站外分享
13 条回复  
857681664 小成 2024-9-5 00:10:33
git 应该没有这种操作吧,或者你写个脚本叫 switchgituser ,提交前执行一下,可以再结合一个自定义 shell 函数,gpushlab 的时候 switch 到 gitlab 的用户名
momocraft 小成 2024-9-5 00:12:43
什么是“提交用户名”
lisongeee 小成 2024-9-5 00:22:17
你只是在本地使用当前用户邮箱生成了一个 commit ,然后把这个 commit 分别 push 到 两个远程仓库

github/gitee 只是根据当前 commit 的 username 和 email 来映射到对应的平台用户

解决方法是 github/gitee 使用同一个用户名和邮箱
ETiV 小成 2024-9-5 00:29:04
如果你了解 URL scheme 的话就会知道

协议://(用户名:密码 @)域名/路径

这种写法是通用的,在哪儿用都好使
vvhy 小成 2024-9-5 00:59:15
可以试试 includeIf: https://fshex.com/t/1057899
我没验证过
msg7086 小成 2024-9-5 09:06:12
author name 和 committer name 都是 commit 的一部分。你要设置的只能是推送用户名。
body007 初学 2024-9-5 09:19:01
https://man.openbsd.org/ssh_config

试试在:~/.ssh/config 添加下面配置看看

Host github.com
  User github-username

Host gitlab.com
  User gilab-username
sagaxu 初学 2024-9-5 09:48:25
https 的用户名可以写在 URL 中,这是 rfc 规定的格式

https://username1@github.com/jock/test.git
https://username2@gitlab.com/jock/test.git

git 一般通过 ssh 的 key 来配置,在~/.ssh/config 中为不同的域名配置不同的证书或 Key
kinfuy 小成 2024-9-5 11:27:29
https://github.com/kinfuy/gacm 这个工具不仅仅可以管理 git 账户 还能处理 npm 镜像源
12下一页
返回顶部