【发布时间】:2013-02-05 16:46:14
【问题描述】:
我使用 Visual Studio 2010 Express 已经有一段时间了,并且玩过一些大型项目已经有一段时间了。由于我接近 50-60 个文件和数千行代码,因此我决定对所有内容进行一些源代码控制,以便项目更容易在我的所有设备之间更新和访问,同时也可以备份。
我以前使用过 git 并且对它感到满意,但是现在当我提交并将其推送到 bitbucket.org 上的远程存储库时,我发现 .vcxproj 文件同时仍然保留了正确的文件结构,保留了从中推送它的设备的 include 和 lib 目录,这意味着当下拉到另一台计算机时,那些 include/lib 目录将在错误的目录中查找,这意味着我每次拉/推时都必须修改所有目录.
我的问题,我是否可以将文件推送到存储库,以便解决方案保留文件夹设置,但不能保留包含和 lib 目录设置?
编辑:
经过一些研究,我在 Visual Studio 中查看了这些所谓的属性表,它们是可以添加到您的项目中的文件。您设置的设置优先于项目的设置,但是如果您将单个属性文件添加到项目中然后推送 .sln 文件以及没有该 .props 的各种 .vcxproj 文件,则会出现障碍文件,然后其他人从存储库中克隆,它不会打开,因为它显然需要该道具文件。
我想要的是远程存储库中的默认 .props 文件,当克隆过来时,不再跟踪该文件,然后该用户可以自己编辑它。我对 git 的想法知之甚少,无法做到这一点。有人有想法吗?
【问题讨论】:
-
恐怕这是不可能的。也许你可以在 pre-commit 钩子的有问题的文件中设置没有这些东西的版本?或者也许有一种方法可以设置它们,以便他们
include(à la C) 本地配置,并将这些部分保存在非版本控制的文件中,由每个用户设置? -
不回答你的问题,但我喜欢使用 CMake 来生成 Visual Studio 项目。 CMake 有很多优点。另外,我想向您展示我创建的用于对生成的 Visual Studio 项目中的源文件进行排序的 cmake 代码:github.com/Andrepuel/ThirdParty.cmake#source-group-tree
标签: c++ git visual-studio-express