.gitignore 会删除系统中已有的文件吗?
Will .gitignore delete existing files in the system?
我向 .gitignore 添加了一个文件夹,系统中丢失了一些文件,它们是 PDF 文件,因为我知道二进制文件不应该在 git 我添加了包含以下内容的文件夹.git 中的那些文件忽略。我虽然不会影响系统中现有的文件,但其中一些文件已经不在服务器中了。
会不会是我加了.gitignore?或者我应该放弃这种可能性?
不,将文件添加到 .gitignore 只是告诉 git 不应使用 git add
将文件添加到系统中(没有 -f
至少)并且 git status
不会向您显示它们未被跟踪。
但是,由于它们未被跟踪,您可能会失去关于它们的状态并且可能会忘记它们很重要。因此,如果您删除了其中包含 PDF 的存储库的克隆副本,那么您只是自己删除了它们而忘记了它们不是签入文件的一部分。因此,您和克隆存储库的其他用户将无法访问它们。
如果您对在 git
中存储大文件感兴趣,您可以查看 git annex
和 git lfs
,它们提供了存储和共享大文件的方法。
最后,我对 PDF 和类似大文件的一般看法:最好是您的存储库可以在构建或类似过程中自行生成它们。如果没有,那么您确实需要以某种方式在版本控制系统中跟踪它们以确保它们不会丢失(因此:git annex
或 git lfs
)。
我向 .gitignore 添加了一个文件夹,系统中丢失了一些文件,它们是 PDF 文件,因为我知道二进制文件不应该在 git 我添加了包含以下内容的文件夹.git 中的那些文件忽略。我虽然不会影响系统中现有的文件,但其中一些文件已经不在服务器中了。
会不会是我加了.gitignore?或者我应该放弃这种可能性?
不,将文件添加到 .gitignore 只是告诉 git 不应使用 git add
将文件添加到系统中(没有 -f
至少)并且 git status
不会向您显示它们未被跟踪。
但是,由于它们未被跟踪,您可能会失去关于它们的状态并且可能会忘记它们很重要。因此,如果您删除了其中包含 PDF 的存储库的克隆副本,那么您只是自己删除了它们而忘记了它们不是签入文件的一部分。因此,您和克隆存储库的其他用户将无法访问它们。
如果您对在 git
中存储大文件感兴趣,您可以查看 git annex
和 git lfs
,它们提供了存储和共享大文件的方法。
最后,我对 PDF 和类似大文件的一般看法:最好是您的存储库可以在构建或类似过程中自行生成它们。如果没有,那么您确实需要以某种方式在版本控制系统中跟踪它们以确保它们不会丢失(因此:git annex
或 git lfs
)。