git push完毕,发现错了,怎么撤销,回退?新建了分支怎么删除?

git push完毕,发现错了,怎么撤销,回退?新建了分支怎么删除?,第1张

可以用git reflog查看,确定你想要指向的地方,比如reset到562cfe7这个位置:
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 标记来强行推送。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13388458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存