Git多用户环境隔离提交

多用户仓库提交

背景

想要将开源项目和日常使用的两个账号区分开来,各自推送代码。

具体原理就是通过token结合远程仓库地址和本地用户信息配置完成git隔离。

步骤

  1. github个人页面选择setting->developer settings->personal access tokens创建两个账号各自的token,token记得赋予读写权限

  2. 修改工程的远程地址

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 查看一下当前仓库配置信息,主要是看下源仓库远程链接
    git config --local -l

    # 删除当前关联关系
    git remote rm origin

    # 关联新格式的远程仓库
    # 举个例子,假如我的仓库为https://github.com/luyublog/myrepo.git
    # 那么替换后的格式即为https://luyublog:token@github.com/luyublog/myrepo.git
    git remote add origin https://your_user_name:your_token@github.com/your_user_name/your_repo_name.git

    # 重设一下跟踪分支,这里我直接关联的main分支
    git branch --set-upstream-to=origin/main

    # 拉取一下查看是否成功
    git pull

遇到的问题

pull时报错:当前分支没有跟踪信息

这个错误信息表示当前分支没有和任何远程分支建立跟踪关系,所以Git不知道你想要从哪个远程分支pull更新,关联一个远程分支即可,这里我直接关联main分支

1
git branch --set-upstream-to=origin/main

一些常用命令

1
2
3
4
5
6
7
8
9
# 查看仓库的本地配置
git config --local -l

# 全局配置
git config --global -l

# 系统级配置
git config --system -l