2

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

如何撤消 Git 中的最后一次提交?

我对此的解释是:

git reset --soft HEAD^

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

git reset HEAD MainStoryboard*

然后我没有在 git status 上看到我的故事板文件。在我认为很奇怪的未上演区域中,我也没有看到它们是红色的。所以我然后做了

git commit -a -c ORIG_HEAD

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

4

2 回答 2

0

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

git reset HEAD -- file_list

也使用简单的提交(不是修改表格)

git 添加 your_changed_files

git 提交

于 2013-09-25T04:05:17.373 回答
0

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

for i in `git status --porcelain | grep '^M.*MainStoryboard.*$' | sed 's/^M \+//'`; do
    git reset HEAD -- "$i"
done
于 2013-09-25T05:58:19.620 回答