如何使用 git reset 在不丢失本地更改的情况下重置未推送的提交
Posted
技术标签:
【中文标题】如何使用 git reset 在不丢失本地更改的情况下重置未推送的提交【英文标题】:how to reset un-pushed commit without loosing local changes using git reset 【发布时间】:2022-01-04 08:08:00 【问题描述】:我想将我的文件推送到一个还没有文件的新存储库(在 GitHub 中)。 我不小心提交了对 GitHub 来说很大的不需要的文件,因此我无法将任何内容推送到存储库。 我想在尝试再次推送之前重置提交。 我对如何正确使用有点困惑 git reset --soft/hard/mixed 当我正在寻找的最终结果是: 在我的本地存储库中没有更改,重置提交中的文件 - 这样我就可以再次选择要提交的文件。
【问题讨论】:
简短答案是git reset HEAD^
,但请务必阅读一些关于不同模式的信息here。
我做到了:git reset HEAD~ 比我得到这个:致命:不明确的参数 'HEAD~':未知的修订或路径不在工作树中。
我猜是初次提交?
这可能是初始提交,但问题是我那里有不应该存在的文件,那么我该如何更改初始提交?
重新创建存储库。没有提交意味着没有历史记录,因此您只需要文件夹中的内容即可初始化。如果需要,本地配置和挂钩很容易转移。
【参考方案1】:
你可以用 git reset HEAD 来做到这一点,这个命令会改变你的头部提交
【讨论】:
我这样做了,但我得到了这个:致命的:不明确的参数 'HEAD~':未知的修订或路径不在工作树中。 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何使用 git reset 在不丢失本地更改的情况下重置未推送的提交的主要内容,如果未能解决你的问题,请参考以下文章
在不丢失 Html 样式的情况下更改 NSAttributedString 中的字体大小 - Swift