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

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


当前回答

撤消上一个任务

在很多情况下,你真的想撤销你代码中的最后一项承诺。例如,因为你想对它进行广泛的重组,甚至完全抛弃它!

在这种情况下,"重置"命令就是你最好的朋友:

$ git reset --soft HEAD~1

以上命令( 重置) 将把您当前的 HEAD 分支倒回指定的修改 。 在以上的例子中, 我们想回到当前修改前的修改中, 有效地取消我们上次的修改 。

注注:--soft旗帜 : 这样可以确保未撤销修改中的更改被保存。 在运行命令后, 您会发现这些更改是您工作副本中未承诺的本地修改 。

如果您不想保留这些修改,只需使用--hard。确保只在确定不再需要这些更改时才这样做。

$ git reset --hard HEAD~1

Enter image description here

其他回答

另一种方式:

检查您想要返回的分支, 然后将本地工作副本重置到您想要在远程服务器上成为最新一份的承诺( 它将在离别后进行的一切) 。 要做到这一点, 请在 SupportTree I右键点击并选中的“ 重置 BranchNAME 以进行此承诺 ” 。

然后导航到仓库的本地目录并运行此命令 :

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v -f --tags REPOSITORY_NAME BRANCHNAME:BRANCHNAME

这将删除您本地仓库中当前一个后的所有承诺, 但只删除该分支 。

git 重置 -- 混集、 -- soft 和 -- hard 的区别

先决条件:当修改您存储库中的现有文件时,该修改最初被视为未阶段。为了实施修改,需要分阶段进行,这意味着使用索引git add。在一次任务操作中,被筛选的文件会被添加到索引中。

让我们举一个例子:

- A - B - C (master)

HEAD点点到C与索引匹配C.

-- 软

  • 当我们执行时git reset --soft B有意并打算删除承诺 C将主控/ HEAD 指向 B.
  • 主人/总部现在将指向B,但指向B指数与C指数仍有变化.
  • 执行时执行时git status您可以看到索引中的文件承诺 C计为阶段d.
  • 执行git commit到此点将创建新承诺与C相同的变化

-- 混合混合

  • 执行执行git reset --mixed B.
  • 执行时,主/主/总部领导将指B和B也修改索引以匹配 B原因是使用了混合国旗。
  • 如果我们在这一点上运行git承诺, 没有什么会发生,因为与 HEAD 的索引匹配.
  • 工作目录里还有变化 但是既然不在索引里git 状态显示为未阶段状态.
  • 承诺他们,你会git add然后如往常地实践。

--- 硬

  • 执行执行git reset --hard B
  • 执行时,主/总部主/总部将指B修改工作目录
  • 缩略C 中添加的更改全部未承诺的更改已删除.
  • 工作副本中的文件将与承诺 B 匹配, 这将导致永久删除在承诺 C 和 未承诺的更改中所做的所有更改

希望这种对可供使用的旗帜的比较git reset命令会帮助某人明智地使用它们。请参考这些以获取更多细节链接1 & 链接2

只要在下面执行命令时重置它, 使用git:

git reset --soft HEAD~1

解释:什么什么是git reset基本上reset任何承诺,如果你愿意 回去,如果你把它和--soft键,它将返回,但保留您文件中的更改,所以您可以回到刚刚添加文件的阶段,HEAD是分支的首脑,如果结合了~1(在这种情况下,你们也使用)HEAD^,它会回去 只有一个承诺 你想要什么...

我为您创建了以下图像中的步骤, 详情更多, 包括所有在真实情况下可能发生的步骤, 并承诺执行代码 :

How to undo the last commits in Git?

这将添加一个新的承诺, 删除所添加的文件 。

git rm yourfiles/*.class
git commit -a -m "deleted all class files in folder 'yourfiles'"

或者您可以重写历史来撤销最后一项承诺 。

警告警告警告警告:此命令将永久删除对《京都议定书》的修改.java您承诺的文件( 和任何其他文件) -- 从工作目录中删除全部修改 :

git reset --hard HEAD~1

缩略hard resetHEAD-1您的工作副本将在您错误犯罪之前设定为犯罪状态 。

IntellelliJIDEA 您可以按下打开 Git 的 Git 仓库日志平平+9,鼠标右键单击承诺列表中的某些标记,并选择:重置当前分支到这里....