配置多个gitee账号和github账号,windows下使用TortoiseGit代替Git命令行操作,github指定目录创建github page,如何清除git仓库的所有提交记录,成为一个新的干净仓库

git全局配置操作

  • 移除全局配置账户

git config --global --unset user.name

  • 查看全局用户名

git config --global user.name

  • 移除全局配置邮箱

git config --global --unset user.email

  • 查看全局邮箱

git config --global user.email

  • 移除全局密码

git config --global --unset user.password

  • 查看全局密码

git config --global user.password

配置多个gitee账号和github账号

打开Git Bash,进入到Git repository所在目录,右键->Git Bash HereGit Bash Here进入.ssh配置目录

cd C:\Users\win10User\.ssh

生成一个github用的SSH-Key

ssh-keygen -t rsa -C '123456+firstUser@user.noreply.gitee.com' -f /c/Users/win10User/.ssh/id_rsa_gitee_firstUser

ssh-keygen -t rsa -C '72345678+firstUser@users.noreply.github.com' -f /c/Users/win10User/.ssh/id_rsa_github_firstUser

ssh-keygen -t rsa -C '5234567+secondUser@user.noreply.gitee.com ' -f /c/Users/win10User/.ssh/id_rsa_gitee_secondUser

添加到信任

ssh-add id_rsa_github_firstUser

在上述.ssh目录下,手动新增一个config 文本文件,为每个账号配置一个Host节点。主要配置项说明:

Host      主机别名
HostName 服务器真实地址
IdentityFile  私钥文件路径
PreferredAuthentications  认证方式
User 用户名(例中为Gitee帐号)
# 该文件用于配置私钥对应的服务器
# 公司 Host别名
Host firstUser
HostName gitee.com
PreferredAuthentications publickey
User 123456+firstUser@user.noreply.gitee.com
IdentityFile C:/Users/win10User/.ssh/id_rsa_gitee_firstUser

# 个人 Host别名
Host secondUser
HostName gitee.com
PreferredAuthentications publickey
User 5234567+secondUser@user.noreply.gitee.com

IdentityFile C:/Users/win10User/.ssh/id_rsa_gitee_secondUser

# 个人 Host别名
Host thirdUser
HostName gitee.com
PreferredAuthentications publickey
User 6234567+thirdUser@user.noreply.gitee.com
IdentityFile C:/Users/win10User/.ssh/id_rsa_gitee_thirdUser

# 建一个github别名,新建的帐号使用这个别名做克隆和更新
Host fourthGithub
HostName github.com
PreferredAuthentications publickey
User 72345678+firstUser@users.noreply.github.com
IdentityFile C:/Users/win10User/.ssh/id_rsa_github_firstUser

用ssh命令分别测试,验证是否成功

ssh -T git@别名(config里面的Host)

ssh -T git@fourthGithub
Hi fourthGithub! You've successfully authenticated, but GitHub does not provide shell access.

ssh -T git@secondUser
Hi secondUser! You've successfully authenticated, but GITEE.COM does not provide shell access.

ssh -T git@firstUser
Hi firstUser! You've successfully authenticated, but GITEE.COM does not provide shell access.

ssh -T git@thirdUser
Hi thirdUser! You've successfully authenticated, but GITEE.COM does not provide shell access.

修改局部Remote origin

为每给repository设置remote origin

git remote rm origin
git remote add origin git@fourthGithub:firstUser/ToolsUI.git

注意:

  • git remote add origin git@<填写config中对应用的Host主机别名>:xxxx.git

  • 如果不知道xxxx.git 地址,可以上Gitee网站复制,如下,红色选框框选部分

  • 每个用户涉及都repository都要进行设置

配置局部用户名和邮件

为每个repository设置局部用户名和邮件(注意:每个用户涉及都仓库都要设置

配置局部用户名

git config user.name "secondUser"

说明:user1_name可以随意

配置局部邮件

git config user.email "5234567+secondUser@user.noreply.gitee.com"

git config user.email "72345678+firstUser@users.noreply.github.com"

windows下使用TortoiseGit代替Git命令行操作

you do not have permission to pull from the repository

可能是你的这台电脑以前使用过git,所以保存的账号和密码是其他人的,所以需要进行修改账号和密码:删除Windows凭据

Couldn't load private key (file format error)

在目录 HKEY_CURRENT_USER\Software\TortoiseGit 路径下,

将SSH键的值C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe,改为 Git 的安装路径 改为:C:\Program Files\Git\usr\bin\ssh.exe

github指定目录创建github page

意思就是把指定的ToolsUI/canyou文件夹提交到gh-pages分支上.

git subtree push --prefix=ToolsUI/canyou origin gh-pages

如何清除git仓库的所有提交记录,成为一个新的干净仓库

切换到新的分支

git checkout --orphan latest_branch

缓存所有文件(除了.gitignore中声明排除的)

git add -A

提交跟踪过的文件(Commit the changes)

git commit -am "commit message"

删除master分支(Delete the branch)

git branch -D master

重命名当前分支为master(Rename the current branch to master)

git branch -m master

提交到远程master分支 (Finally, force update your repository)

git push -f origin master

通过以上几步就可以简单地把一个Git仓库的历史提交记录清除掉了,不过最好还是在平时的开发中严格要求一下提交日志的规范,尽量避免在里面输入一些敏感信息进来。


标签:多个git账号 tortoiseGit gh-pages