首页 > 解决方案 > 如何签出源文件少于当前提交的提交

问题描述

我正在开发一个 C++ 项目,它有一个主要任务和几个扩展任务,并使用 git 进行版本控制。在向其他人展示项目时,检查某个提交(标记为“主要”)以展示项目在主要任务完成时的状态很有用。这可以展示代码,但是我当前版本的项目的源文件不存在于“primary”中,因此在签出“primary”时它们不再存在。尝试构建项目会产生一个错误,抱怨缺少源文件,如底部所示。

添加到 git 的文件是 source_1.cpp、source_2.cpp、additional_source_file.cpp(不存在于 'primary' 中)和 header.h,并且大概 vs 有问题,因为 checkout 没有更新任何告诉项目要查找的源文件。

我想要解决这个问题,我需要在 git 跟踪的文件中至少再添加一个文件。这些是哪些文件,还是我误诊了问题?

我目前使用的解决方法是从项目中手动删除 additional_source_file.cpp,然后在我签出最近的提交时重新添加它。

这是错误:

错误 C1083 无法打开源文件:'........\a\b\project\additional_source_file.cpp':没有这样的文件或目录

标签: gitvisual-studio

解决方案


最初的答案有助于为我指明正确的方向。

我最初不知道有标准的 .gitignore 文件:我在 GitHub 网站上找到了 Visual Studio 的特定文件。据我所知,这不包括每次编译项目时都会更新的所有烦人文件。

更新 .gitignore 文件后,我在 git bash 中使用以下命令清除并重新添加 git 跟踪的文件。

git rm -r --cached .
git add .

这解决了问题,因为它添加了

构建/运行项目所需的所有文件


推荐阅读