前言

git使用方法比较容易忘记,特此记录

常用命令

  1. 设置用户名git config --global user.name twoonefour
  2. 设置邮箱git config --global user.email twoonefour@pursuecode.cn
  3. 设置http代理git config --global http.proxy http://127.0.0.1:10809
  4. 设置https代理git config --global https.proxy http://127.0.0.1:10809
  5. 登陆保存账号密码git config --global credential.helper true
  6. n个commit合成一个commit git rebase -i HEAD~n
  7. 恢复commit至未改动git reset --hard HEAD
  8. 查看git对应用户从某时到某时的改动, 简短 git log --author=user --since=2021-01-01 --until=2021-06-30 --shortstat --oneline

git权限验证

在没有登陆时是没法拉取自己的私人库的,需要权限验证,有两种方法,一种用token登陆,一种用ssh密钥登陆

使用token登陆

创建token

如图解
找到settings

点击开发者设置

点击personal access tokens

新建一个token

流程1

流程2

以上就是token的创建流程

登陆

首先设置你的usernameemail

git config --global user.name twoonefour
git config --global user.email twoonefour@pursuecode.cn

git clone https://github.com/<你的用户名>/<你的库名称>.git

我这就是git clone https://github.com/twoonefour/halo2.git

会让你输入用户名和密码, 我的用户名就是twoonefour, 密码就是刚才生成的token,至此没有问题的话应该能拉取成功了

使用ssh密钥

github官方文档

生成公钥和私钥

  1. 打开shell,windows cmd或者linux shell
  2. 输入ssh-keygen -t ed25519 -C "your_email@example.com",保存位置可以自己换,linux默认为/root/.ssh/id_ed25519, windows默认为C:\Users\username/.ssh/id_ed25519,然后一路回车
  3. 打开id_ed25519.pub文件待用

这里ssh-keygen会生成一个公钥一个私钥,pub结尾的文件是公钥,另一个是私钥

github上创建公钥

还是在settings这

点击SSH and GPG keys

点击 New SSH key

把上一步id_ed25519.pub中的内容复制粘贴进去

粘贴公钥

点生成即可

测试连通性

linux请配置/root/.ssh/config文件,内容如下

Host github.com
IdentityFile /root/.ssh/<你的私钥文件名>

windows请配置C:/Users/<你的用户名>/.ssh/config,也是上面和linux相似的内容,修改私钥路径就行

Host github.com
IdentityFile C:/Users/<你的用户名>/.ssh/<你的私钥文件名>

然后输入ssh -T git@github.com

ssh连通

出现这个提示就成功配置了

拉取

ssh密钥认证拉取

使用ssh密钥拉取的时候就是用ssh的命令

ssh命令

在命令行中就是
git clone git@github.com:<你的用户名>/<你的库名称>.git

ssh拉取是经过ssh协议的,即便是配置了http代理也不会用代理,请参考别人的文章
让你的SSH通过HTTP代理或者SOCKS5代理 —— 壳壳

需要注意的是proxycommand是在有相应软件下才能使用的

比如

ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

需要系统中有nc这个软件才能使用

token认证拉取

http拉取
在命令行
git clone https://github.com/<你的用户名>/<你的库名称>.git