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

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


当前回答

(2015年等)

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

答案是用数字标注的:

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

git reset --hard HEAD~1

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

其他回答

通常情况下,你想要取消对因为您犯了一个错误,所以您想要修正它 基本上就是OP在问问题时所做的。真的,您真的想要复复做a 承诺。

这里的大多数答案都集中在命令行上。 虽然命令行是使用Git的最佳方法, 当你对它感到舒服的时候, 它可能与来自其他版本控制系统到 Git 的人有点不同。

使用 GUI 如何操作。 如果您安装了 Git, 您已经拥有了所有您需要遵守的指示 。

注:我在这里假设您在推动前意识到承诺是错误的。 如果您不知道推力意味着什么, 那么您可能还没有推动。 继续执行指令 。 如果您推动错误承诺, 最危险的方法就是跟踪错误承诺, 并做出新的承诺, 来修补事情, 您在版本控制系统中这样做的方式不允许您重写历史 。

使用图形用户界面来修正你最近的过错:

  1. 导航到命令行的仓库,并用git gui
  2. 选择“ 修正上一个任务 ” 。 您将会看到您上次的委托信件、 您所准备的文件 以及您没有的文件 。
  3. 现在将事情更改为您想要它们查看的方式, 并单击 CON 。

头:

在重置承诺之前, 我们应该知道关于 HEAD... HEAD 在您的工作目录中只是您目前的状况。 它由承诺编号代表 。

Git 承诺 :

在由独有标签代表的一承诺下指定的每一项更改。 无法删除提交 。 所以, 如果您想要您最后的承诺, 您可以简单地跳入其中 。git reset.

您可以使用两种方法跳入最后一个承诺 :

方法1:(如果你不知道承诺编号,但想移动到第一个)

git reset HEAD~1  # It will move your head to last commit

方法2:(如果你们知道自己所做的一切,那末,你们只须将自己所知道的(事情)重新置身于你们所认识的(事情)中)

git reset 0xab3# 提交编号

注:想要了解最近一项任务尝试git log -p -1

以下是图形表达式 :

Enter image description here

认为我们有code.txt 代码转换器。我们对其文件进行一些修改并做出承诺。我们可以以三种方式撤销这一承诺,但首先你应该知道什么是阶段文件...git status此文件将以绿色颜色显示, 如果此文件没有被预设用于承诺, 则会以红色显示 :

enter image description here

意思是,如果您进行更改,此文件中的更改就不会保存。 您可以在您的舞台上添加此文件git add code.txt然后承诺更改:

enter image description here

撤消上次承诺 :

  1. 如果我们想要在不做任何其他更改的情况下撤销承诺,

    git reset --soft HEAD^

    enter image description here

  2. 如果我们想要撤销承诺及其变化( ) 。这是危险的,因为你的改变会失去),我们可以使用

    git reset --hard HEAD^

    enter image description here

  3. 如果我们想要撤销承诺,从舞台上删除变化, 我们可以使用

    git reset --mixed HEAD^或以短或短形式git reset HEAD^

    enter image description here

取决于您是否已经公开了您的前一次承诺( 插入到您的远程仓库 ) :

如何撤销本地任务

比方说我承诺了当地, 但现在我想取消那个承诺。

git log
    commit 101: bad commit    # Latest commit. This would be called 'HEAD'.
    commit 100: good commit   # Second to last commit. This is the one we want.

要让一切恢复到上次承诺之前的状态 我们需要reset之前的承诺HEAD:

git reset --soft HEAD^     # Use --soft if you want to keep your changes
git reset --hard HEAD^     # Use --hard if you don't care about keeping the changes you made

现在git log将显示我们最后的承诺已被删除 。

如何撤销公开承诺

如果您已经公开了承诺, 您将会想要创建一个新的承诺, 它将“ 撤销” 您对上一个承诺( 当前 HEAD) 所做的更改 。

git revert HEAD

你们的更改将恢复,并准备好你们承诺:

git commit -m 'restoring the file I removed by accident'
git log
    commit 102: restoring the file I removed by accident
    commit 101: removing a file we don't need
    commit 100: adding a file that we need

更多信息,请查看Git Basics - 撤销事情.

作为以下步骤。

步骤1

命中git log

从日志列表中找到最后的硬化散列代码, 然后输入 :

步骤2

git reset <hash code>