Git:从pull请求中排除已提交的文件

时间:2015-03-03 05:57:58

标签: git pull-request

我有一个我推销我的东西的回购。我已经意识到我正在推动.idea/workspace.xml,我应该忽略它(很多无用的配置)。

现在它在我的远程仓库上,我需要做一个拉取请求。 可以从拉取请求中排除违规文件吗?

1 个答案:

答案 0 :(得分:6)

问题是你不能发送带有删除.idea/workspace.xml的提交的pull-request,因为存储库所有者是否要合并该pull请求。

因此,您需要修改添加该文件的同一提交。 为此,请使用git rebase --interactive获取提交的SHA,这是在错误提交之前提交的。 ba0202e。然后执行以下操作:

$ git rebase --interactive ba0202e

然后它会打开一个编辑器,列出所有提交。 只需找到错误的提交,然后将pick替换为edit。 保存文件并关闭它。

现在删除文件.idea/workspace.xml

$ git rm --cached .idea/workspace.xml

它会从git中删除它,但不会从本地系统中删除它。

然后修改提交:

$ git commit --amend
$ git rebase --continue

现在你必须用选项-f强制推送提交(这是不好的做法,但在你的情况下没有任何其他选择。)