如何删除在远程仓库中存在但本地不存在的文件?(针对 Git 技术)

3

我有一些由我的编辑器意外创建并之前提交的.swp文件。现在我想合并到主分支,但需要摆脱这些文件。我尝试从我的工作副本中删除它们,然后提交。现在这些文件在本地已经被删除,但仍然存在于GitHub上的提交中。我尝试使用git rm path_to_files,但返回fatal: pathspec 'path_to_files' did not match any files,这似乎确认它们已经完全从我的本地副本中消失了。如何完全删除它们?谢谢。


也许这个解决方案会有所帮助。 - ckruczek
2个回答

1

由于您的文件已从文件系统中本地删除,因此您应该能够执行以下操作:

git add . -A
git commit -m 'Deleted files'

或者只是:

或者:

git commit -m 'Deleted files' .

(注意末尾的句点,这将添加已删除的文件)


太简单了,谢谢。很奇怪,我最初在工作中删除了文件并推送到源代码库,然后回家后拉取了代码,现在正在进行这个删除提交。如果这些文件还没有与源代码库同步,那么我的家用电脑是如何获取已删除文件的列表的呢?如果它们已经与源代码库同步,为什么还需要这样做呢? - Canaryyellow
@Canaryyellow,git 说你在家里的电脑上删除了文件(你刚刚运行这些命令的地方)。也许当你去上班时,你会发现你没有添加被删除的文件(使用 -A)。 :-) 删除文件时,必须使用 git add . -Agit add . 不够)。可能你没有从工作中推送被删除的文件。或者如果你正在使用另一个同步应用程序(例如 Dropbox),那么这可能解释了为什么它们在这台机器上被删除了。 - Ionică Bizău

0
如果您已经在本地删除了文件,只需提交操作即可。
git commit -a -m "Committing deletion of files"
git push

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接