0

我有一个私人仓库,在 Github 上进行了一次提交——特别是针对 Rails 项目。我的架构文件随着迁移而更改,一位开发人员希望我从提交(和私有仓库)中删除架构更改。我以为我已经弄清楚了,但它似乎并没有坚持,我做错了什么?

git reset 'HEAD^1' db/schema.rb
git commit --amend -v
git push origin <branch-name> -f
4

1 回答 1

2

看起来您db/schema.rb在重置之后和提交之前没有暂存所做的更改。因此,在您完成之后git reset 'HEAD^1' db/schema.rb,使用 暂存文件git add db/schema.rb,然后执行提交。

或者,您可以将文件重置为以前的状态,并通过使用git reset --soft head^而不是将其保留在索引中git reset head^。后者--mixed默认使用flag,不会暂存改变的状态,而前者会。

您可以在文档中阅读有关git reset标志的更多信息:

--soft

完全不触及索引文件或工作树(但将头部重置为 ,就像所有模式一样)。正如 git status 所说,这会使您所有更改的文件都“提交更改”。

--mixed

重置索引但不重置工作树(即保留更改的文件但未标记提交)并报告尚未更新的内容。这是默认操作。

于 2013-05-17T19:25:08.663 回答