Git clone 指定目录与本地VS项目的创建
使用Git管理VS项目的一点心得记录
Git clone 指定目录
git clone <repo> [<dir>]
先上命令,方便自己和有需要的人一眼看到。我遇到这个问题的场景是这样的,git clone 默认会在本地创建一个和远程仓库同名的目录把远程仓库里的文件全部塞进去,然而我想要在本地把不同的版本都保存下来,我希望能把文件克隆到我自己创建的目录下,不需要默认的目录,由此我联想到了指定文件/目录进行克隆的方法。 如果指定克隆的目录为当前目录(这里的目录都是远程仓库中的目录),就可以达到理想效果了。可以看到本地目录此时就和远程仓库同步了。需要注意的是,git clone 的本地目录必须是空的,vs和git都会在项目/仓库目录下创建隐藏目录,一定要删除。
VS项目的创建
这里提一点,尽管我只是用到git来管自己的代码,但还是遵循源码原则,不在git仓库里面添加任何依赖于本地路径和工程的东西,同时也避免任何编译的中间产物和结果,这样做的好处是——一来仓库文件比较小(基本都是文本文件),用到github这样的国外站点也能够即时完成上传下载;二来这样整个仓库里面只保存源码文件,迁移性很好,不仅可以用于VS,用其他的IDE或者CMake之类的也都可以,只需要在使用时根据不同的环境配置不同的项目文件即可。VS无论是solution还是project,都是依赖于路径的,我把项目换个路径都会出现很多问题,而且由于我的这份代码在不同的版本有不同的用处,我想给它们设置不同的名字,所以这里我没有把任何VS文件加入仓库。 接下来,这里以VS2019为例(其他版本也类似),展示一下从当前目录中源码文件创建工程的过程。
-
打开IDE,选择“创建新项目”,选择“空白解决方案” 解决方案名称自拟,但是要和自拟的git克隆的本地目录名称一致,目录选择刚刚克隆的根目录的上级目录 然后就可以看到如下效果,这里的MySolution是一个错误示例,如果在上述操作中没有选择上级目录而是选择了仓库目录本身,vs就会帮你在当前目录下再创建一个解决方案的同名目录。而如果解决方案起的名字和仓库文件夹不一致,那就会在你仓库目录的上级目录下创建一个新的解决方案同名目录。所以本质上这样做就是指定VS在我们已经创建的目录下保存解决方案文件。 