git reset --soft 562cfe7
新建new分支并切换过去
git branch newbranch
git checkout newbranch
第一次git push 用这个命令:
git push --set-upstream origin newbranch命令 git checkout -- readmetxt 意思就是,把readmetxt文件在工作区的修改全部撤销,这里有两种情况:
总之,就是让这个文件回到最近一次git commit或git add时的状态。
git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到 git checkout 命令。
现在假定是凌晨3点,你不但写了一些胡话,还git add到暂存区了:
$ git status
Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:
$ git checkout -- readmetxt
$ git status
nothing to commit (working directory clean)```
现在,假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?还记得 版本回退 一节吗?可以回退到上一个版本。不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。还记得Git是分布式版本控制系统吗?我们后面会讲到远程版本库,一旦你把“stupid boss”提交推送到远程版本库,你就真的惨了……
本文转自:廖大神的官方网站
>
例:
假设当前分支 有如下4个commit
假设要删除 备注为222,commit为bb0d81806a0c1b05c这次提交
1查看commit记录
2找到此次提交 之前的一次提交的commit
3执行如下命令
4d出框
vim 编辑器 将bb0d81806a0c1b05c这一行前面的 pick 改为 drop ,然后按照提示保存退出
5至此已经删除了指定的commit,可以使用git log查看下
6如果你想把 rebase 之后的分支推送到远程仓库,Git 会阻止你这么做,因为两个分支包含冲突。但你可以传入 –force 标记来强行推送。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)