废话少说,间接上代码:

# 生成 ssh keysssh-keygen -t rsa -b 4096 -C "your_email@example.com"# 全局配置git config --global user.name "<username>"git config --global user.email "<username>@xxx.com"# 查看日志git loggit log --pretty=oneline                # 单行日志git log --graph --abbrev-commit         # 图形日志+简洁id# 查看HEAD日志git reflog                              # 查问每一次的命令日志(通常和回滚一起应用,查找commitId)# 撤销批改git restore --staged <fileName>         # 还原staged区文件git restore <fileName>                  # 还原工作区文件(还原到上一个staged或者版本库)# 查看批改git diff <fileName>                     # 查看工作区和(staged|版本库)外面最新版本的区别git diff HEAD -- <fileName>             # 查看(工作区|staged区)和版本库外面最新版本的区别# 删除文件git rm <fileName>                       # 从版本库中删除该文件# 回滚git reset --hard                        # 以后节点(勾销所有更改)git reset --hard HEAD^                  # 上一个节点git reset --hard HEAD^^                 # 上两个节点git reset --hard HEAD~100               # 上100个节点(100可批改)git reset --hard <commitId>             # 指针HEAD挪动到指定节点git reset --soft xxx                    # 软回滚,不回滚代码,只回滚提交操作# 穿梭git checkout <commitId>                 # HEAD指针指向某个节点,以复原过后的文件(常常用来从此节点创立新分支)git checkout <commitId> <fileName>      # 把以后状态的某个文件内容笼罩为某个版本,会影响你以后的工作区(不要轻易做作这个操作)# 撤销git revert <commitId>                   # 撤销一次提交(git会从新做一个新的提交来撤销批改,而不是删除某次提交)git revert -m 1 <commitId>              # 撤销merge合并,-m前面带的参数值能够是1或者2,示意要保留哪个分支的批改。(master上执行git merge dev,1:master,2:dev)                                        # 咱们要记住,因为咱们摈弃过之前dev合并过去的commit,下次dev再往master合并,之前摈弃过的其实是不蕴含在外面的。咱们把之前master那个带有【反操作】的commit给撤销掉就能够从新merge了。# 提交git commit --amend                      # 批改上一次提交正文# 创立分支git branch <branch>                     # 创立分支git checkout <branch>                   # 切换分支git switch <branch>                     # 切换分支git checkout -b <branch>                # 创立并切换分支git switch -c <branch>                  # 创立并切换分支git branch -d <branch>                  # 删除分支git branch -D <branch>                  # 强制删除分支,当分支从未被合并过,会提醒应用-D来强制删除,避免提交失落git checkout -b <branch> origin/<branch>               # 创立并对应近程分支git branch --set-upstream-to <branch> origin/<branch>  # 对应近程分支 # 创立标签git tag                                 # 查看所有标签git tag <tagName>                       # 打标签git tag <tagName> <commitId>            # 给特定提交打标签git tag -a <tagName> -m "<description>" # 附加标签阐明git show <tagName>                      # 查看标签信息git push origin --tags                  # 推送本地所有标签git push origin <tagName>               # 推送单个标签git tag -d <tagName>                    # 删除本地标签git push origin :refs/tags/<tagName>    # 删除近程标签# 合并git merge <branch>                                  # 合并<branch>到以后分支,无抵触的话就是fast-forward模式git merge <branch> --no-off -m "<阐明>" <branch>     # 禁止应用fast-forward模式,这样merge时生成一个新的commit,会保留分支信息git merge --abort                                   # 放弃正在merge的操作# 工作现场git stash                               # 保留现场git stash push -m "<阐明>"              # 保留现场并增加阐明git stash list                          # 列出所有现场git stash pop                           # 复原最新的现场,并从stash list中删除git stash apply <stash>                 # 复原指定的现场,然而不从stash list中删除git stash drop <stash>                  # 删除指定的现场# 复制提交git cherry-pick <commitId>              # 将其余分支的提交“复制”(git将主动做一次提交,所以commitId是不同的)到以后分支# 查看remote库信息git remote -v                           # 查看remote库git remote add origin <remote>          # 增加remote库# 推送remote分支git push -u origin master               # 第一次推送master分支的所有内容git push origin <branch>                # 推送分支# 配置remote地址git remote add origin http://xxx.com/xxx.gitgit remote set-url origin http://xxx.com/xxx.git