1.git的基本配置
git config --global user.name "test"
git config --global user.email "test@ai4c.cn"
ssh-keygen -t rsa -C "test@ai4c.cn"
然后在本地找到这个文件~/.ssh/id_rsa.pub 将key复制到github的设置里面 https://github.com/settings/keys
2.为啥要多个git配置?
在家办公,一般我们有两个github账号,一个自己的,一个公司的。我们默认的git是自己的账号,每次打开git bash here 都是自己的github账号,如果再去拉公司的代码或者去push,都要输入账号密码就很麻烦。
3.解决办法
两个解决办法,一个通过命令,另外一个简单一点,通过github官网给出的GITHUB-DESKTOP
3.1 命令行
1.本机已经配置好了自己的git
2.然后创建一个工作目录,以下是命令步骤:
ssh-keygen -t rsa -C "工作邮箱" 输入命令会有几个步骤
-
确认秘钥的保存路径(因为我们本机已经有一个id_rsa文件了,所以这里要改个文件名 例如:id_rsa_ai4c)剩下的步骤都是enter
-
如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖)
-
创建密码(如果不需要密码则直接回车)
-
确认密码
3.再将key 复制到你工作的github账号里面。
4.然后配置局部账号
设置当前项目的账户用户名是lete-fork git config user.name "xxx"
设置当前项目的账户邮箱是lete-fork绑定的邮箱 git config user.email "xxx"
ssh -T git@github.com
执行上方命令后会输出 ## Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
ssh-add ~/.ssh/id_rsa_fork
执行上方命令后会输出 ## Identity added: /c/Users/Lete/.ssh/id_rsa_ai4c (xxx)
此时再输入ssh -T git@github.com 就会切换到工作的账号,就可以把项目git下来了。 (但是每次打开,又会换回原本的git账号)
所以每次打开项目,都这样运行一遍,后面的git命令就不用每次都输入账号密码了。
3.2 下载 GITHUBDESKTOP
GITHUBDESKTOP 软件提供了切换账号,就可以自由切换然后拉取或者推送。
四、git 常见问题的解决办法
1.回退版本至某一次的提交
使用git log命令,根据自己的提交日志及时间查找id
然后,使用git reset命令将本地分支强制重置为id时的状态
git reset --hard commit-id
如果需要将此回退推送到远程仓库,可以使用强制推送
git push origin HEAD --force
这个提交会将远程仓库强制覆盖,请谨慎使用。
这篇文章会慢慢记录自己所遇到关于git的问题。