1. 常用命令清单
    1. 查看所有的配置以及它们所在的文件
      1. git config --list --show-origin
  2. 常见问题解决
    1. LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
      1. git config --global http.proxy http://127.0.0.1:8001
      2. git config --global https.proxy http://127.0.0.1:8001
      3. 因为开了V2ray代理
  3. git pull和git fetch区别
    1. git pull是拉下更新后就自动合并本地分支,而git fetch是先吧更新拉下来,在用merge或rebase进行合并
  4. git merge和git rebase的区别
    1. 永远用rebase?
  5. 远程
    1. git remote rm origin https://gitee.com/vipflonline/flo-admin.git
    2. git remote add origin https://gitee.com/vipflonline/flo-admin.git
  6. 代码冲突解决
    1. Your local changes would be overwritten by merge. Commit, stash or revert them to proceed
      1. Stash Changes
        1. 右键冲突所在文件->Git->Stash Changes
        2. Git Pull下来,手动merge其他冲突代码
        3. 右键Stash的文件所在目录->Git->UnStash Changes
        4. git commit
        5. git push
    2. 回退已经push的代码
      1. git log
        1. 查看想要回退的对应版本号
        2. commit d0fd8e9ba9364ed70647f3fa0372811f1917a4be (HEAD -> develop, gitee/develop) Author: jianwen.lu441509577@qq.com <441509577@qq.com> Date: Fri Apr 30 10:19:26 2021 +0800 1.增加登录用户返回用户类型
      2. git branch
        1. 确认当前分支
      3. git reset --hard a98b8
        1. 重置当前的版本号,注意是前五位
      4. git push origin master --force
        1. 强制重新push,覆盖(回退)上一次的push
    3. 代码提交的时候,每一个commit一定要细化,不要有冗余的耦合,这样在合并代码的时候才不会尝试一些不必要的冲突
      1. 一定要最大化减少每次commit提交的代码耦合
  7. 分支
    1. 分支合并
      1. cherry-pick
        1. 将指定的提交(commit)应用于其他分支。
    2. 分支切换
      1. Idea的Smart Checkout
        1. local修改为commit的代码Idea会自动搁置到shelf,下次切换回来分支时,可以在Shelf右键点击Unshelf