# 常用命令
# 查看 log
git log
# git commit 后想撤销 commit
git reset --soft HEAD^
# 想撤销之前提交过的一个 commit
git revert -m 1 [logid]
# 因为 git 默认是不区分大小写的,所以 git status 是不会提示有修改的
可以通过以下命令查看默认的配置
git config --get core.ignorecase
可以通过一下命令修改该配置
git config core.ignorecase false
# 常见问题
# 1. 将其他分支的代码误合入当前分支
如果在拉去代码的时候,不小心将其他分支的代码拉取并自动合并到了当前的分支,并且还不小心提交、推送到了自己的远端仓库,并且还发了合并 pr,这个时候,你就会发现,你的 pr 里面会有很多不是你自己的提交,这个时候就要引起注意,不能无脑合入,以下是遇到这种情况的解决办法:
- 首先将合 pr 关闭掉
- 然后撤回提交,直到撤回到你的那次错误的合并提交为止
- 然后将撤回请求的代码全部'放弃更改'
- 然后将你后面需要的修改再重新修改,然后提交、推送到自己的远端仓库,到这一步的时候就会出错,因为自己的仓库的代码并没有撤回,刚才撤回的是本地的代码,所以 git 会要求你先拉取代码再推送,这个时候切记不要拉取代码,因为拉取了代码之后,你刚才推送到自己远端仓库的那个错误合并提交的代码又会重新拉取下来,这样,就又回到了问题的原点了
- 所以,在给自己的远端仓库推送代码的时候选择强制推送
# 2. 推送、拉取代码老是失败
如果之前使用的仓库地址是HTTPS
的话,那就换成SSH
但是如果没有配置 SSH 的话,则是不能使用 SSH 地址的,下面是配置 SSH 的流程
- 配置用户名
git config --global user.name 'ZuPerfect'
- 配置用户邮箱
git config --global user.email '315698477@qq.com'
- 生成公钥、密钥
ssh-keygen -t rsa -C '315698477@qq.com'
- 配置 github 密钥
- cd ~/.ssh (如果没有执行第三步,则不会有这个文件夹;一般在此处能找到该文件 C:\Users\Administrator.ssh)
- 找到并打开 id_rsa.pub 文件,复制里面的内容
- 打开 github,点自己头像 >> settings >> SSH and GPG keys >>New SSH key
- title(可随便填写,例如 SSHkey);key 里粘贴第六步的内容,完成密钥配置