如何从拉取请求/提交中删除文件?

时间:2018-07-10 17:32:42

标签: git

我的gitignore文件如下:

# Ignore bundler config.
 /.bundle

# Ignore all logfiles and tempfiles.
/log/*
!/log/.keep
/tmp
coverage/
public/system/
.DS_Store
.env
logfile
development.log

无论出于什么原因,我最终都会在提交和请求请求中出现我的development.log文件。现在,我有一个完整的development.log文件的公开拉取请求。如何删除它?

我尝试了以下操作:

  1. git reset HEAD ^ app / log / development.log
  2. git commit --amend --no-edit
  3. git push

最后得到当前分支资源没有上游分支。要推送当前分支,将远程设置为上游,请使用git push --set-upstream origin资源。我这样做,然后检查我的PR,文件仍然存在,因为显然它是未编辑的。

我也尝试过

  1. git日志,找到包含文件的提交
  2. git reset --soft commit
  3. git push

这里的问题是该文件在本地存在,并且应该存在,但我希望将其从PR中剥离。

如何从拉取请求中删除文件,而不是在本地删除文件?

2 个答案:

答案 0 :(得分:1)

首先从git索引中删除日志文件,同时使用--cached选项将其保留在磁盘上:

git rm --cached log/development.log

然后检查文件删除:

git commit -m 'remove development log'

答案 1 :(得分:0)

如果您已经推送了该文件,只需删除该文件并提交删除的文件并推送到远程。

如果仅提交而不推送到远程,请尝试git reset HEAD~1(数字1表示重置一次提交),然后删除文件并推送到远程。

相关问题