git多用户配置
1.删除GIT全局配置
查看是否进行过全局配置
1 | git config --global --list |
如果配置过,会出现
1 | $ git config --global user.name "你的名字" |
将其删除
1 | $ git config --global --unset user.name "你的名字" |
2.生成新的SSH keys
(C:\Users\用户名\ .ssh)目录下,打开git-bash窗口
1 | ssh-keygen -t rsa -C "邮箱" |
使用不同邮箱生成两次,可以使用不同命名区分。
打开 .pub文件(公钥),将内容全部配置到到github或其他平台中。
4.创建config文件
config,无文件扩展名。
文件内容如下:
1 | Host 别名 |
1 | # Host : 每个Host要取一个别名,每个Host主要配置HostName和IdentityFile即可 |
5.测试SSH key是否生效
依次验证
1 | ssh -T git@配置的Host名 |
出现用户名即说明成功
要使用这些配置好的账号,您需要在 Git 操作中引用对应的主机别名。要为特定的 Git 仓库使用指定的 GitHub 账户进行操作,您可以在该仓库目录下执行以下 Git 命令,根据需要替换别名。
对于账户 user:
将远程仓库的URL从 github.com 改为 host别名:
git remote set-url origin git@host别名: …/…git
现在,当你执行诸如 git push、git pull 或 git clone 等操作时,Git 会根据您使用的 URL 中的主机别名,自动使用相对应的 SSH 密钥进行身份认证。这样您就可以方便地切换使用不同的 GitHub 账户了。
确保在您的本地 Git 配置(位于您的 Git 仓库的 .git/config 文件中)已正确设置远程仓库的 URL。这样一来,每当您与远程仓库交互时,Git 将自动使用为该主机别名配置的 SSH 密钥。
例如
1 | Host name1 |
当您配置了 SSH 别名来管理多个 GitHub 账户时,您会将原本的 git
操作命令中的默认 github.com
替换为您在 SSH 配置文件 (~/.ssh/config
) 中定义的别名。以下是一些对照例子,展示了不使用别名和使用别名的 git
命令:
1. 克隆仓库:
- 不使用别名(原本):
1
git clone git@github.com:name/repository-name.git
- 使用别名
********
:1
git clone git@********:name/repository-name.git
2. 推送更改到远程仓库:
- 不使用别名(原本):
1
git push origin master
- 使用别名
********
(此命令前提是远程origin
已设置为使用别名):1
git push origin master
3. 拉取远程仓库的更改:
- 不使用别名(原本):
1
git pull origin master
- 使用别名
********
(此命令前提是远程origin
已设置为使用别名):1
git pull origin master
4. 查看远程仓库细节:
- 不使用别名(原本):
1
git remote show origin
- 使用别名
********
(此命令前提是远程origin
已设置为使用别名):1
git remote show origin
5. 设置远程仓库地址:
- 不使用别名(原本):
1
git remote set-url origin git@github.com:name/repository-name.git
- 使用别名
********
:1
git remote set-url origin git@********:name/repository-name.git
请注意,一旦您为特定远程仓库设置了 URL,后续的所有 git
操作(如 push
、pull
、fetch
等)都会沿用该配置,不需要再次指定 SSH 别名。别名的使用主要在于初次设置远程 URL 或更改现有远程 URL 时。
从本地创建一个新的 Git 仓库到上传代码到远程 GitHub 仓库的过程涉及到几个步骤及相应的 Git 命令。以下是完整的过程和每一步所需执行的命令:
-
初始化本地仓库:
在项目的根目录下执行:cd /path/to/your/project
git init -
添加文件到暂存区:
将项目文件添加到 Git 暂存区:git add .
这里,.表示添加当前目录下的所有文件。也可以选择性地使用 git add
添加特定文件。 -
提交更改到本地仓库:
将暂存区的更改提交到你的本地仓库:git commit -m “Initial commit”
-m 后面跟的是提交信息,内容可以根据你的更改自定义。
-
连接到远程仓库:
如果还没有远程仓库,需要先在 GitHub 创建一个仓库(不要初始化 README.md 或 .gitignore 文件),然后将本地仓库与远程仓库连接:git remote add origin <GITHUB_REPOSITORY_URL>
把 <GITHUB_REPOSITORY_URL> 替换为你的 GitHub 仓库地址,例如:https://github.com/username/repository.git。
-
创建分支
命令 git branch -M main 用于重命名 Git 仓库的当前分支为 main。此命令中 -M 选项告诉 Git 如果 main 分支已经存在,就强制重命名覆盖它。
1
git branch -M main
-
推送到 GitHub:
将你的本地仓库的代码推送到远程仓库:git push -u origin main
-u 参数指定默认上游分支,这样以后你可以只用 git push 来推送更改。如果你的默认分支名不是main(如 master或其他名字),请相应替换。
如果这是你第一次使用 Git,你还可能需要配置你的全局用户名和邮箱:
git config --global user.name “Your Name”
git config --global user.email “youremail@example.com”
在推送的过程中可能会要求你输入 GitHub 的用户名和密码,如果启用了两步验证,则需要使用个人访问令牌作为密码。如果你使用 SSH 方式,会要求你输入 SSH 密钥的密码(如果设定了的话)。
一旦设置完毕,后续你只需在本地仓库进行更改后,使用 git add、git commit 和 git push 命令来上传新的更改即可。