配置用户

git config --global user.name "anyfan"
git config --global user.email "study@anyfan.top"

连接 github

使用 ls -al ~/.ssh 命令查看 ssh key 是否存在,若存在则忽略这一步

生成 SSH KEY:

ssh-keygen -t rsa -C "study@anyfan.top"

↑ 生成 ssh key 过程中,会让你填写passphrase,连按三次回车跳过即可

打开 id_rsa.pub 文件,将内容复制到剪贴板

cd ~/.ssh
ls -a
vim id_rsa.pub

id_rsa 为私钥,id_rsa.pub 为公钥

配置密钥

登录 GitHub,打开 Personal settings 页面,选择 SSH and GPG keys 选项,粘入 Key。

测试连接,如果一切正常会显示

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

多设备开发可能出现的问题

git 中加入忽略文件权限的配置,具体如下:

git config core.filemode false           # 当前版本库
git config --global core.fileMode false  # 所有版本库

这样就设置了忽略文件权限。可以查看下配置:

git config --system --list    # 查看系统 config
git config --global    --list  # 查看当前用户(global)配置
git config --local --list   # 查看当前仓库配置信息

版本回退

git reset --hard HEAD^        # 当前版本库上一个版本
git reset --hard HEAD^^^    # 当前版本库上上上个版本
git reset --hard HEAD~10    # 回退到往上10个版本
git reset --hard 64d782e    # 回退到版本64d782e
  • --hard一切就全都恢复,头变,aad的暂存区消失,代码什么的也恢复到以前状态
  • --mixed将头恢复掉,已经add的暂存区也会丢失掉,工作空间的代码什么的是不变的
  • --soft仅仅将头指针恢复,已经add的暂存区以及工作空间的所有东西都不变

强制推送到远程分支

git push -f

远程覆盖本地

git fetch --all                    # 拉取所有更新,不同步
git reset --hard orgin/master    # HEAD指向线上最新版本,并同步。
git pull
最后修改:2021 年 06 月 13 日 11 : 28 PM
赏口饭吃,行行好吧,客官!