git reset --hard HEAD 版本号 HEAD 代表本次版本 上个版本 HEAD ^ 上上个版本 HEAD ^^ 前100个版本 不能写一百个^ 有个简单的写法 git reset --hard HEAD~100,git reset --hard commit_id
如果想查看自己的命令 有个命令 git reflog
如果想撤销本地工作区某次的修改内容,可以用命令 git checkout -- filename 一定要有 --,不然就变成了切分之的命令,此时分为已经提交到暂存区,现在,撤销修改就回到和版本库一模一样的状态 。一个是没有提交暂存区 ,已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
如果是写错了某个东西,添加到暂存区了并且也commit了 ,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区,此时暂存区干净了,但是本地工作区还有修改,此时需要Git checkout -- filename
git branch 查看分支
git branch -b branchName 切分支
git merge branchName 命令用于合并指定分支到当前分支
删除本地分支 git branch -d branchName
删除远程分支 git push origin : branchName
合并分支后,git会使用fast forward 模式,删除掉分支之后,会丢失分支信息,为了禁用fast forward 模式,在合并的时候 加上参数 --no--ff
git merge --no--ff -m 'merge width noff'
git tag 方便各个版本管理
git tag 查看当前所有tag
git tag v1.0.1 创建tag
git puh origin v1.0.1 把tag提交到远端
git push origin --tags 把本地所有tag 提交到远端
例如 在预发布打tag 首先在自己的开发分支 ,mege master上的更新 然后 执行tag命令 然后验证预发布 预发布验证完了 准备上线
切到master 然后 merge 开发分支上的新内容 执行tag命令