我已经在Bitbucket上使用我的仓库有一段时间了,有一些文件是我本地正在使用的。我已经删除了一些文件(只是使用linux中的rm命令),并使用-am“message”进行了提交,然后推送到主分支。
现在当我访问我的仓库时,我看到仓库中存在一些文件,但这些文件在本地不存在。
如何告诉我的Git仓库删除任何本地不存在的文件?
我已经在Bitbucket上使用我的仓库有一段时间了,有一些文件是我本地正在使用的。我已经删除了一些文件(只是使用linux中的rm命令),并使用-am“message”进行了提交,然后推送到主分支。
现在当我访问我的仓库时,我看到仓库中存在一些文件,但这些文件在本地不存在。
如何告诉我的Git仓库删除任何本地不存在的文件?
git rm --cached
哪些文件需要删除?您需要列出要删除的文件列表。如果您知道自己的文件,可以手动完成此操作,或者使用脚本生成。
有几种方法。(format-patch
,log
等)
以下是一个示例,演示如何查看已提交的文件(git > 2.5)。
git log --cc --stat
rm
命令删除了文件,它们应该会在git status
中以Changes not staged for commit:
的形式出现,表示已被删除。如果是这样的话,你可以选择使用git rm <file>
或者git add <file>
,然后进行提交。不用担心,在你的情况下,两种方法的效果是一样的。这将从你的工作目录索引中移除这些文件。rm
命令删除一个文件时,Git知道它已经从你当前的工作目录中消失了,但它并不停止跟踪这个文件。你必须将这个变化添加到缓存(或暂存区),然后再提交这些变化。git rm
的效果与先使用rm
删除文件,然后再使用git add
添加文件是一样的。如果文件存在于工作目录中,git rm
也会将其删除,否则它不会报错。git commit
man page: