- 主题:*.vcxproj的多人冲突问题有点烦,你们都咋处理这个问题的?
VC的工程文件:
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
老有人把自己的本机设置传到git,导致冲突。
比如:
把toolset从v142改为v143,因为他用vs2022打开的vs2019的工程;
把output目录设置到别的目录,跟我调试用的输出目录不一致;
把自己的远程虚拟机调试设置传上去,但我用的是本机调试。
*.vcxproj.user这个文件按说不需要放到repo里。
--
FROM 125.35.123.*
repo不是我控制的。回头找人定个规矩
MS把输出目录放在*.vcxproj里,我需要把输出目录设置成另外一个目录来debug。
这些个属性不知道是否能用别的文件里的自定义的给override掉,而且不用直接修改*.vcxproj
【 在 RunningOn 的大作中提到: 】
: vcxproj 必需上传的呀,这是项目重要信息
: 你的情况是被vs2022修改了,这个貌似没什么办法,你得约定一下只能由谁来改这个文件。
: .filters 文件可以上传也可以不上传,往项目里添加文件夹时会修改这个。不上传不影响编译。
: ...................
--
修改:z16166 FROM 125.35.123.*
FROM 125.35.123.*
一样是xml的
我现在本地备份一下这几个文件,git pull有冲突时,手动和本地备份的做diff + patch。
1、而且git pull得改用批处理(git stash push + git pull + git stash pop),因为本地的这几个文件改过后,直接git pull会报错,这个很烦的
2、用tortoise git来commit时,它默认会把这几个文件也选中提交,很容易误操作,也很烦,只能手动git add + git commit。
我的build产物输出目录是最终的安装目录c:\program files\xxx, 方便直接用安装包里的其他文件进行调试,
但是repo里的vcxproj里写的输出目录是相对目录out\bin,而且用post-build event的批处理将产物复制到另外一个目录(但这个目录不是c:\program files\xxx)。
【 在 a0123456789q 的大作中提到: 】
: .user是二进制的吧。就是为不入repo设计的
:
--
修改:z16166 FROM 125.35.123.*
FROM 125.35.123.*
不是跨平台的,只在vc里用,所以没有用cmake
【 在 shootings (shootingstars) 的大作中提到: 】
: 你们这个应该仅仅上传cmake,其他的东西爱用什么东西都可以。
:
: 【 在 z16166 的大作中提到: 】
: : VC的工程文件:
--
FROM 125.35.123.*
这是个小team,不过管repo的不是我,我得找人沟通、商量怎么搞,哈哈
【 在 toutouqi 的大作中提到: 】
: 多大的开发队伍啊,连vs版本都不能统一。
--
FROM 114.254.46.*
对,toolset的小版本要完全一样。
之前遇到过vs2022中的v142和vs2019中的v142的小版本不一致,导致编译不通过。
原因是vs2019中的v142已经完全支持C++20,而vs2022中的v142后来才更新到完全支持C++20的版本。
【 在 milksea 的大作中提到: 】
: vs版本不一样其实没关系,但toolset版本要固定
--
FROM 114.254.46.*