git add index.js git commit -m '自觉得是在开发分支实际上是在master分支的一次提交'
以前没有出过这样的错误。就算出现也是直接push
了而后再 reset
回滚而后再次 push -f
。git
reset
的三个参数--mixed
(默认参数)重置位置的同时,只保留Working Tree
工做目录的內容,但会将暂存区 和 Repository
中的內容更改和 reset
目标节点一致,因此原节点和Reset节点之间的变动文件,会放入Working Tree
工做目录中。code
简单来讲就是:不删除工做空间改动代码,可是撤销commit
,而且撤销git add
开发
git reset --mixed HEAD^ 和 git reset HEAD^
HEAD^ HEAD~1 HEAD~2
其中HEAD^ HEAD~1
同为上一个版本,HEAD~2
为上两个版本,也就是两次commit,以此类推
若是须要再撤销修改it
git checkout index.js
--soft
重置位置的同时,保留 working Tree
工做目录和暂存区的内容,只让 repository
中的内容和 reset
目标节点保持一致,因此原节点和reset节点之间的变动文件会放入暂存区中。ast
简单来讲就是:不删除工做空间改动代码,撤销commit
,不撤销git add
文件
--hard
重置位置的同时,直接将 working Tree
工做目录、 暂存区及 repository
都重置成目标 reset
节点的內容。co
简单来讲就是:删除工做空间改动代码,撤销commit
,撤销git add
block
这个操做会直接恢复到了上一次的
commit
状态。
push origin
在作完上面的操做后工作
git push origin -f
通常在撤回回滚的操做时候请记录好
commit
的版本号,以防再次出现失误没法挽回