如何同时提交到多个存储库,并根据每个存储库设置使用单独的提交用户名 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
laters
V2EX    git

如何同时提交到多个存储库,并根据每个存储库设置使用单独的提交用户名

  •  
  •   laters 2024-09-04 23:46:49 +08:00 2666 次点击
    这是一个创建于 471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 
    17 条回复    2024-09-06 09:18:28 +08:00
    857681664
        1
    857681664  
       2024-09-05 00:10:33 +08:00
    git 应该没有这种操作吧,或者你写个脚本叫 switchgituser ,提交前执行一下,可以再结合一个自定义 shell 函数,gpushlab 的时候 switch 到 gitlab 的用户名
    momocraft
        2
    momocraft  
       2024-09-05 00:12:43 +08:00
    什么是“提交用户名”
    lisongeee
        3
    lisongeee  
       2024-09-05 00:22:17 +08:00
    你只是在本地使用当前用户邮箱生成了一个 commit ,然后把这个 commit 分别 push 到 两个远程仓库

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

    解决方法是 github/gitee 使用同一个用户名和邮箱
    ETiV
        4
    ETiV  
       2024-09-05 00:29:04 +08:00 via iPhone
    如果你了解 URL scheme 的话就会知道

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

    这种写法是通用的,在哪儿用都好使
    vvhy
        5
    vvhy  
       2024-09-05 00:59:15 +08:00 via Android
    可以试试 includeIf: https://v2ex.com/t/1057899
    我没验证过
    td width="10" valign="top">
    msg7086
        6
    msg7086  
       2024-09-05 09:06:12 +08:00
    author name 和 committer name 都是 commit 的一部分。你要设置的只能是推送用户名。
    body007
        7
    body007  
       2024-09-05 09:19:01 +08:00
    https://man.openbsd.org/ssh_config

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

    Host github.com
    User github-username

    Host gitlab.com
    User gilab-username
    laters
        8
    laters  
    OP
       2024-09-05 09:29:23 +08:00
    就是我有一套代码,在 github 和 gitlab 上同时存了,我希望提交代码的时候,能一次性提交两个仓库,而提交时候的 username ,github 的仓库显示 A gitlab 仓库显示 B
    laters
        9
    laters  
    OP
       2024-09-05 09:30:09 +08:00
    @msg7086 对的,这个能根据仓库 url 自动对应吗 ?
    laters
        10
    laters  
    OP
       2024-09-05 09:30:20 +08:00
    @momocraft 仓库显示提交人的名字
    laters
        11
    laters  
    OP
       2024-09-05 09:30:43 +08:00
    @body007 windows + https 的方式有办法实现吗
    sagaxu
        12
    sagaxu  
       2024-09-05 09:48:25 +08:00
    https 的用户名可以写在 URL 中,这是 rfc 规定的格式

    https://[email protected]/jock/test.git
    https://[email protected]/jock/test.git

    git 一般通过 ssh 的 key 来配置,在~/.ssh/config 中为不同的域名配置不同的证书或 Key
    kinfuy
        13
    kinfuy  
       2024-09-05 11:27:29 +08:00
    https://github.com/kinfuy/gacm 这个工具不仅仅可以管理 git 账户 还能处理 npm 镜像源
    davin
        14
    davin  
       2024-09-05 13:36:01 +08:00
    手动创建 bat 或者 bash 文件,把命令塞进去?我能想到的直接方案
    griffinx
        15
    griffinx  
       2024-09-05 16:22:39 +08:00
    理论上你的所有操作都只会在一个仓库,另外的都是同步而已。

    搞一个 pipeline 专门做这种事情,就像 golang 的 pr 合并之后会自动同步到 github 一样,不要在 local 搞
    relsoul
        16
    relsoul  
       2024-09-05 18:25:30 +08:00
    sourcetree 可以设置不同仓库的每个仓库单独的 git name & git email
    ryanlid
        17
    ryanlid  
       2024-09-06 09:18:28 +08:00
    对每个仓库单独设置就可以了

    git config --local user.name aaa
    git config --local user.email [email protected]
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     898 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 19:45 PVG 03:45 LAX 11:45 JFK 14:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86