如何在不删除本地更改的情况下删除所有未推送的提交

时间:2020-06-28 13:38:14

标签: git

我正在与朋友一起进行个人项目,但是我们俩都对git有点陌生。

我们已经有了我们的项目(游戏服务器),我的朋友在服务器上安装了github桌面。

他添加了我们游戏服务器中的所有文件,进行了提交,还进行了一些修改。

问题是整个文件夹几乎是3go,其中大部分(〜2go)是我们真的不想提交的大型建模文件。

尚未对git进行任何推送,因为github不允许我们这样做(从我所见的原因是因为我们的项目规模大),因此所有提交都在本地进行。

我们如何删除所有提交而不丢失更改,因此我们可以忽略大文件,仅添加要跟踪的文件并最终推送? 还是有最好的方法?

谢谢。

1 个答案:

答案 0 :(得分:1)

容易

?- 3 =:= 2+1. true. ?- 4 =:= 2+1. false.

这将重置并“删除”您提供的哈希之后的所有提交,但将保留文件。要确保运行

git reset --soft <last commit hash you want to save>

在进行git status git log 之前仔细检查。如果您从未将这些提交推送到远程设备,则无需强制执行,但是如果确实将它们推送到某个点,则需要使用git push origin