Git 有问题的文件名 (#Makefile#)

Git issue with problematic file-name (#Makefile#)

所以我从同事那里得到了一个代码并清理了它。 过去遗留下来的文件之一是#Makefile#(确切名称)。 我想在下一次提交时清理它,就像许多其他不必要的文件一样。但是,这个特别麻烦 - 它拒绝从远程存储库中删除。

git 状态产量:

#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    #Makefile#
#
no changes added to commit (use "git add" and/or "git commit -a")

我尝试将此更改推送到远程存储库的任何方式都没有做任何事情。我已经尝试 git 重置、结帐、拉取、清理等等来清理它或获取存储库版本并重试。在任何一种情况下都不起作用。 在远程仓库文件保持不变... (我会指出我可以提交并推送所有其他更改,这只是停留在状态栏中) 我确信它与文件名有关 - 尽管我不确定它首先是如何获得名称的。 知道如何处理这个问题吗?

文件名不是问题。您只是在没有使用 git rm 的情况下删除了文件,因此您没有创建提交。

您需要从 git 中实际删除文件,然后提交:

git rm '#Makefile#'
git commit

(在大多数 shell 中,#Makefile# 周围需要引用,即 '' 以避免将其视为注释,即 # 和后面的所有内容” bash一家)

然后你就可以推送这个提交了。