意外地承诺并推送了“数据库。”#39;到Rails Git Repo

时间:2018-02-27 11:00:43

标签: ruby-on-rails git github git-push

我正在开发一个Rails项目!

不添加.gitignore

的借口

我不小心承诺并推动了database.yml'进入我的功能分支。几天前从feature分支到master分支创建了一个拉取请求,但尚未合并。作为此拉取请求的一部分,多次提交已完成,并且提交包含' database.yml'是最后一次提交。

其他人也在作为这个项目的一部分工作,他们正在将变更合并到主人,我们正在将这些变化拉到我们之间的功能分支。因此,在我们的功能分支中,我们得到了其他人的提交,这些提交是在错误提交之后完成的。

所以我希望做一个' git rm'和' git push'再次使用相同的文件来解决此问题(因为PR尚未合并)。这会产生问题吗?

3 个答案:

答案 0 :(得分:5)

如果你移除了database.yml那将是另一个提交,并且没有人会受到影响。

但请注意,database.yml仍然是历史记录的一部分,可以通过git log访问。如果该文件包含敏感信息,则其他人可以找到它。

答案 1 :(得分:0)

从本地系统中删除该文件,然后使用更改将更改添加到提交 git add <FILE_PATH>命令,然后提交并推送更改,它应该没问题。

答案 2 :(得分:0)

正确删除它的正确方法是撤消对文件所做的更改并提交它。

另一种更脏的方法是打开提交并删除更改并强制将其推送到repo。但是你需要适当的权利。如果他们试图改变那些,其他人也会遇到问题。