Ruby on rails 意外提交并将“database.yml”推送到Rails Git Repo

Ruby on rails 意外提交并将“database.yml”推送到Rails Git Repo,ruby-on-rails,git,github,git-push,Ruby On Rails,Git,Github,Git Push,我正在从事一个Rails项目 不添加的借口。忽略 我不小心提交了“database.yml”并将其推入我的功能分支。几天前,从功能分支到主分支创建了拉取请求,但尚未合并。作为该请求的一部分完成了多个提交,包含“database.yml”的提交是最后第四个提交 其他人也在作为这个项目的一部分工作,他们正在将这些更改合并到master中,我们正在将这些更改拉到中间的特性分支中。因此,在我们的feature分支中,我们得到了其他提交,这些提交是在错误提交之后完成的 因此,我希望再次对同一文件执行“gi

我正在从事一个Rails项目

不添加的借口。忽略

我不小心提交了“database.yml”并将其推入我的功能分支。几天前,从功能分支到主分支创建了拉取请求,但尚未合并。作为该请求的一部分完成了多个提交,包含“database.yml”的提交是最后第四个提交

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


因此,我希望再次对同一文件执行“git-rm”和“git-push”,以解决此问题,因为PR尚未合并。这会产生问题吗?

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

从本地系统删除该文件,然后使用 git add命令,然后提交并推送更改,应该没问题。

如果删除database.yml,这将是上面的另一个提交,没有人会受到影响

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

如果删除database.yml,则该文件将是顶部的另一个提交,任何人都不会受到影响


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

正确删除该文件的方法是撤销对该文件所做的更改并提交该文件


另一种更肮脏的方法是打开提交并删除更改,然后强制将其推送到回购协议。但是你需要适当的权利。其他人也会有问题,如果他们试图拉更改,然后。

正确地删除它的方法是反转您对文件所做的更改并提交它


另一种更肮脏的方法是打开提交并删除更改,然后强制将其推送到回购协议。但是你需要适当的权利。其他人也会有问题,如果他们试图拉的变化,然后。

这应该是好的-直到有人决定检查提交历史。取决于什么是'罚款'。如果目标是没有该文件,那么在部署到生产环境中时,就可以了。如果要对内容保密-豆子泄露了,你应该更改这些秘密,因为它们不能被取消发布。@meta:你可以在中央回购中重写历史,但是如果有人设法下载了提交,那么是的,它是不可逆转的。它应该是好的-直到有人决定检查提交历史。取决于什么是“好的”。如果目标是没有该文件,那么在部署到生产环境中时,就可以了。如果要对内容保密-豆子泄露了,你应该更改这些秘密,因为它们不能被取消发布。@meta:你可以在中央回购中重写历史,但是如果有人设法下载了提交,那么是的,这是不可逆的。我们有没有办法在提交时隐藏敏感数据?如果有人已经签出了回购协议,你就无法阻止她访问这些信息。那么,您最好的选择就是轮换凭证。如果您想阻止其他人将来访问该文件,可以使用。但是在使用这些命令时要非常小心。我们有没有办法在提交时隐藏敏感数据?如果有人已经签出了repo,你就无法阻止她访问这些信息。那么,您最好的选择就是轮换凭证。如果您想阻止其他人将来访问该文件,可以使用。但是在使用这些命令时要非常小心。