Git常用命令(不断完善中...)

87 阅读2分钟

切换代码库remote:

代码写错分支,如何自救

  • 未commit的情况下
    • git add .
    • git stash //把暂存区的修改储存起来
    • git checkout dev //切换到正确分支
    • git stash pop //将存储的修改提取出来,如果上门git stash了多次,则执行当前命令多次
  • 已经 commit 的情况:
    • git reset HEAD^ //撤回到刚刚commit之前的状态
    • 再继续上面未commit的情况;

分支管理

  • git branch //查看当前分支
  • git branch -a //查看全部分支
  • git branch -r //查看远程分支
  • git branch -l //查看本地分支
  • git branch newBranch //创建新分支,基于当前分支
  • git checkout dev //切换到dev分支
  • git checkout -b newBranch //新建分支,并且切换到新分支
  • git branch -d [分支] //删除本地分支
  • git branch -D [分支] //强制删除本地分支
  • git push origin --delete [分支] //删除远程分支

暂存区内容,恢复到工作区

  • git restore //将file恢复到工作区,同时会撤销修改内容(慎用)
  • git restore --staged //将file恢复到工作区,保留修改内容
  • git reset HEAD //将暂存区内容,全部恢复到工作区,且保留修改内容

git reset

  • git reset --hard HEAD^ //将暂存区、工作区修改恢复到上一个commit的内容
  • git reset --soft HEAD^ //撤销上一次commit,reset的差异回到暂存区
  • git reset --mixed HEAD^ //撤销上一次commit,reset的差异内容回到工作区,同时清空缓存区
  • git reset --hard HEAD^ 回退到上个版本
  • git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
  • git reset --hard commit_id 退到/进到 指定commit的sha码

git rm 移除某个文件、文件夹的版本控制

  • git rm -r -n --cached "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
  • git rm -r --cached "bin/" //最终执行命令.
  • git commit -m" remove bin folder all file out of control" //提交
  • git push origin master //提交到远程服务器

提交代码规范

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动
  • 如果type为feat和fix,则该 commit 将肯定出现在 Change log 之中。

git merge please enter a commit message to ...

press "i" (i for insert) write your merge message press "esc" (escape) write ":wq" (write & quit) then press enter

E45: ‘readonly‘ option is set (add ! to override)

:wq!以上命令是强制保存退出,