Git操作切换本地帐号

  • 起因:
    由于之前刚开始用git时,有一个帐号,现在新建立了一个账号。由于近期和同学github协作,push以后显示之前的账号用户名,所以,需要把本地用户名给改一下。

  • 解决方式:

    git config --global user.name "Your_Username"
    git config --global user.email username@xxx.com
    
    然后,你可看一下这个文件:
    vim ~/.gitconfig
    
    完毕
    

    声明:没有读官方文档,直接参考了这里,谢谢

    1. git-config工具
      Git提供了一个git config工具,专门用来配置或者读取相应的工作环境变量,这些环境变量,决定Git在各个环节的具体工作方式和行为,文档显示这些变量可以存储在三个地方:
      • /etc/gitconfig文件:系统中对所有用户普遍适用的配置,git config –system 选项,读写的即是这个文件,但在Mac OS X上,该目录未找到这个文件;
      • ~/.gitconfig 文件:只适用于当前用户,git config –global 选项,读写的就是这个文件;
      • 当前项目Git目录中的配置文件,即.git/config 文件,这里的配置仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量;
        1. 更改信息
          个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录,对我来说,当时就是把user.email改成了wubin91的email账号,导致了账号切换的问题;如果用了 –global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 –global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
Git切换账号和强制推送是两个常见的操作,分别用于不同的场景。以下是详细的步骤和说明: ### Git 切换账号 1. **生成 SSH 密钥对**:为每个 GitHub 账户生成不同的 SSH 密钥对。打开终端或命令提示符,输入以下命令生成 SSH 密钥对: ```bash ssh-keygen -t rsa -C "your_email@example.com" ``` 按照提示一路回车即可生成密钥。这将在你的用户目录下生成一个名为 `.ssh` 的隐藏文件夹,里面包含了公钥(以 `.pub` 为后缀)和私钥(没有后缀)。 2. **添加 SSH 密钥到 GitHub 账户**:登录你的 GitHub 账户,点击右上角头像打开菜单,选择 `Settings`。然后在左侧菜单中选择 `SSH and GPG keys`。点击 `New SSH key` 按钮,在 `Title` 字段中可以自定义一个标识该密钥的名称,将生成的公钥内容复制到 `Key` 字段中。最后点击 `Add SSH key` 按钮完成添加。 3. **配置本地 Git**:现在,我们需要配置本地 Git 告诉它使用哪个密钥对来推送代码。在终端或命令提示符中输入以下命令: ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" git config --global core.sshCommand "ssh -i ~/.ssh/your_private_key" ``` 将 `Your Name` 和 `your_email@example.com` 替换为你的 GitHub 账户对应的用户名和注册邮箱;将 `your_private_key` 替换为你生成的私钥文件名(不包含路径)。 4. **尝试推送代码**:现在可以尝试推送代码到你的 GitHub 账户中的仓库。在终端或命令提示符下,进入你的代码仓库目录,执行以下命令: ```bash git add . git commit -m "Commit message" git push origin master ``` 如果一切配置正确,代码将会被推送到你的 GitHub 账户对应的仓库中。 5. **切换到其他用户**:如果你想切换到其他 GitHub 账户推送代码,重复步骤1-4即可。每个 GitHub 账户都需要生成一个独立的 SSH 密钥对,并在 GitHub 账户和本地 Git 中配置对应的密钥。 ### Git 强制推送 1. **准备更改并提交到本地分支**:在本地仓库进行一些更改并提交到本地分支上: ```bash echo "new content" > myfile.txt git add myfile.txt git commit -m "Add new content" ``` 2. **强制推送到远程仓库**:由于某些原因无法正常推送时,可以使用强制推送来覆盖远程分支上的内容。使用以下命令: ```bash git push --force origin master ``` 这会强制覆盖远程仓库中的 `master` 分支内容。 3. **注意事项**:强制推送是一个危险的操作,因为它会覆盖远程仓库的历史记录。在使用前,请确保你了解可能导致的影响,并确认没有其他开发者在远程分支上工作。尽量避免在团队协作中使用强制推送,以免破坏其他成员的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值