我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。

我如何解除那些承诺?当地当地仓库?


当前回答

git push --delete (branch_name) //this will be removing the public version of your branch

git push origin (branch_name) //This will add the previous version back

其他回答

如果你还想背到最后承诺 并改过历史

在命令下方使用, 表示您想要跳到前一个任务, 因为前一个任务已经存在 ID SHA -71e2,e57458bde883a37b332035f784c6653ec509中,您可以指向此承诺,在此承诺之后不会显示任何日志消息,此后所有历史都将被删除。

git 推进源 + 71e2e57458bde883a37b332035f784c6653ec509: 技术主管

(2015年等)

如果你在视觉工作室无法同步, 因为不允许你按到像“开发”那样的分支, 那么和我想的一样多, 在视觉工作室NEITHE莱弗特( REVERT)努尔战 地 方(硬的或软的)将有效。

答案是用数字标注的:

使用此命令命令 根 你的项目根 核武器 任何试图 被推推:

git reset --hard HEAD~1

备份或拉链你的文件 只是以防你不想失去任何工作,等等...

要重置上一个修订版, 请永久删除所有未承诺的更改 :

git reset --hard HEAD~1

在我的案子中,我无意中犯了一些我不想犯的案卷。所以我做了以下的,它奏效了:

git reset --soft HEAD^
git rm --cached [files you do not need]
git add [files you need]
git commit -c ORIG_HEAD

用 gitk 或 git 日志 -- stat 校验结果

撤销一项承诺是有点吓人,如果你不知道它是如何运作的。 但如果你理解的话,它其实很容易。我会告诉你4种不同的方式, 你可以解除一项承诺。

说你们有这个,C是你们的总部,(F)是你们档案的状态。

   (F)
A-B-C
    ↑
  master

备选1:git reset --hard

您想要销毁C国罪行,并抛弃任何未承诺的变更。你这样做:

git reset --hard HEAD~1

结果是:

 (F)
A-B
  ↑
master

现在B是总部,因为你用了--hard中,您的文件在承诺 B 时被重置为状态。

备选案文2:git reset

也许C不是灾难,只是有点不对劲取消承诺,但保留您的更改在您做更好的承诺之前需要编辑一点。 从这里重新开始, C 做为您的总部 :

   (F)
A-B-C
    ↑
  master

做这个,离开--hard:

git reset HEAD~1

在这种情况下,结果是:

   (F)
A-B-C
  ↑
master

在这两种情况下,HEAD都只是最新承诺的指针。git reset HEAD~1,您告诉 Git 将 HEAD 指针移回一个承诺。但(除非您使用)--hard你把你的档案和以前一样留在原样,所以现在git status显示您在 C 中检查过的更改。 您没有丢失任何东西 !

备选3:git reset --soft

最轻轻的触碰,你甚至可以取消您的承诺, 但要离开您的文件和文件指数指数指数指数:

git reset --soft HEAD~1

这不仅留下你的档案, 甚至离开你的指数指数指数指数当你独自一个人去的时候,git status,你会看到相同的文件在索引中和以前一样。事实上,在这个命令之后,你可以做git commit你会重蹈覆辙 做你刚做过的同样的事

备选方案4:你确实做了git reset --hard需要把密码拿回来

还有一件事: 假设你销毁如在第一个示例中,但后来发现你需要它运气不好,对不对?

不,有仍为键入此

git reflog

你将看到一份(部分)承诺的清单,沙沙即你们所迁居的地方。你们要找出你们所摧毁的罪状,然后你们要这样做:

git checkout -b someNewBranchName shaYouDestroyed

承诺在Git不会在90天内被摧毁 所以你通常可以回去 拯救一个你本不想除掉的人