在 git 中反转提交

  • 本文关键字:提交 git ios git
  • 更新时间 :
  • 英文 :


我在本地使用 iOS 版故事板进行了更改。 我无法将它们与我的一个朋友正确合并,所以我放弃了。 我的更改很小,我可以稍后重做。 我想做的是在没有故事板的情况下反转最后一次提交,只保留我的代码。 我尝试遵循以下内容:

如何在 Git 中撤消上次提交?

我是怎么解释的:

git reset --soft HEAD^

在此之后,我做了 git 状态,我在暂存区域看到我的所有文件都以绿色显示,包括故事板。 所以我想取消它们(或者我是这么认为的)。 所以我做到了

git reset HEAD MainStoryboard*

然后我没有看到我在 git 状态上的故事板文件。 我在未上演的区域也没有看到他们穿红色衣服,我觉得很奇怪。 所以我然后做了

git commit -a -c ORIG_HEAD

它允许我更改我的提交消息,但提交是相同的。 它仍然提交我的故事板文件。 所以我不确定这里发生了什么.... 有什么想法吗? 提前谢谢。

在进行重置时,尝试使用 -- 将文件列表与修订版分开

git reset HEAD -- file_list

也使用简单提交(不是修正形式)

git add your_changed_files

git 提交

如果取消暂存模式不起作用,您可以尝试"GIT:我想取消暂存与特定模式匹配的所有文件"中的方法:

for i in `git status --porcelain | grep '^M.*MainStoryboard.*$' | sed 's/^M +//'`; do
    git reset HEAD -- "$i"
done

最新更新