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

Lis*_*nne 2 git pull-request

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

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

小智 6

问题是您不能发送带有提交的pull-request,.idea/workspace.xml因为由存储库所有者决定是否合并该提取请求.

因此,您需要修改添加该文件的同一提交.要做到这一点,请使用git rebase --interactive提交的SHA,这是在您错误提交之前提交的.ba0202e.然后做以下事项:

$ git rebase --interactive ba0202e
Run Code Online (Sandbox Code Playgroud)

然后它将打开一个编辑器,列出所有提交.只是找到你错误的提交,并替换pickedit.保存文件并关闭它.

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

$ git rm --cached .idea/workspace.xml
Run Code Online (Sandbox Code Playgroud)

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

然后修改提交:

$ git commit --amend
$ git rebase --continue
Run Code Online (Sandbox Code Playgroud)

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