我将工作保存在GitHub上。通常,我使用以下命令:
git add * # To save all files
git commit -m "a commit"
git push
除了一个案例外,它完美无缺:我们说我的存储库有两个文件file1.c
和file2.c
。
我使用上面的命令,一切都被保存了。然后,我删除了file2.c
,只剩下file1.c
。
我再次运行上面的命令,并且没有错误,但是当我克隆存储库时,两个文件都将存在。
如何从存储库中删除这些文件?
答案 0 :(得分:3)
而不是git add *
(which is expanded by the shell)尝试:
rm file2
rm file3
...
git add .
git commit -m "record modified files, remove files"
git push
这应该包含文件的追加和删除,since Git 2.0 (where git add .
is like git add -A
)
这将记录您删除的20个文件,并允许您推送它。
git add .
会自动检测修改,添加或删除的文件
与由{shell}管理的git add *
相对,扩展了' *
' shell看到的文件(即根据定义,不已删除的文件!)
答案 1 :(得分:1)
要使用git删除文件,请使用以下命令:
var duration: CGFloat = 0
这将删除文件系统和存储库中的文件。 然后,您可以像往常一样提交并推送更改:
git rm file2.c
如果您删除了大量没有git commit -m "Removed file2.c"
git push
的文件,则可以从存储库中删除所有文件,然后重新添加:
git rm
git rm --cached *
git add *
仅从存储库中删除文件,它们保存在文件系统中,以便您可以使用--cached
添加它们。
答案 2 :(得分:1)
git rm file1.c
git add *
git commit -m "message"
git push
答案 3 :(得分:1)
我认为您可以使用git rm删除文件或文件夹,就像在linux中使用rm一样
例如,运行
您将在存储库中删除file2.c
然后将其提交到您的远程存储库