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

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


当前回答

如果您只是想要丢弃所有本地更改/ 承诺, 使您的本地分支看起来像您从... 开始的源分支...

git reset --hard origin/branch-name

其他回答

你需要做简单快的动作

    git commit --amend

是私人分行还是私人分行

    git commit -m 'Replace .class files with .java files'

如果它是共享的或公共的分支。

撤消上一个任务

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

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

$ git reset --soft HEAD~1

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

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

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

$ git reset --hard HEAD~1

Enter image description here

当地承诺

git reset --soft HEAD~1

或者如果你们记不起来,那末,你们可以使用

git rm --cached <file>

用于被推动的 承诺

从存储库历史中移除文件的正确方式正在使用git filter-branch。也就是说,

git filter-branch --index-filter 'git rm --cached <file>' HEAD

但我建议您谨慎使用此命令。 更多信息git-过滤器-分栏(1) 手册.

“ 将工作树重置为最后一次承诺 ”

git reset --hard HEAD^ 

"清除工作树上的未知文件"

git clean    

见 -Git 快速参考

注:此命令将删除您上一个任务所以要谨慎使用!git reset --hard更安全。

类型类型类型git log并发现最后的散列代码,然后输入:

git reset <the previous co>