Git中能否选择推送app.config修改?VS下多开发者连接字符串配置方案
嘿,这两个问题在团队协作管理配置文件时真的超常见,我来给你一步步拆解解决方案:
问题1:Git中是否可以选择推送app.config文件的特定修改?
当然可以!Git本身就支持交互式暂存,说白了就是允许你只暂存文件里的部分修改,而不是整个文件。具体操作分两种场景:
- 如果你习惯用命令行:直接敲
git add -p app.config,Git会把文件拆分成一个个小的代码块(hunk),逐个问你要不要暂存。输入y就暂存当前块,n跳过,e还能手动编辑这个块的内容。选完之后,你提交的就只有你选中的那些修改,推送到远程仓库也只会推送这部分内容。 - 如果你用GUI工具(比如GitHub Desktop):打开文件的差异视图,直接勾选你想要推送的代码行旁边的复选框,就能只暂存这部分修改,剩下的留着本地就行。
问题2:Visual Studio中实现类似GitHub Desktop的部分代码不推送,同时管理app.config的通用配置
必须能!而且还有两种思路,短期应急和长期优化:
短期:直接在VS里暂存部分修改
在Visual Studio的「Git更改」窗口里,找到你的app.config文件,点击文件右侧的「查看差异」按钮。在弹出的差异对比视图里,找到你想要保留并推送的新增配置项,右键点击对应的代码块,选择「暂存此更改」。这样你提交的时候,就只会把选中的通用配置项推上去,而每个人本地的连接字符串修改会留在本地,不会被提交。
长期:用用户特定配置文件彻底解决问题
每次手动选部分修改太麻烦,咱可以从根源上避免这个问题:
- 在项目里新建一个
app.user.config文件,把每个人独有的数据库连接字符串放在这个文件里。 - 打开主
app.config,在连接字符串的节点上添加configSource属性,指向这个user文件,比如:
<connectionStrings configSource="app.user.config" />
- 把
app.user.config添加到.gitignore文件里,这样Git就会忽略这个文件,不会把它提交到远程仓库。 - 主
app.config里只保留所有开发者共用的通用配置项,有新增的配置项直接修改主文件,正常提交推送就行。
这样一来,每个人的连接字符串存在自己本地的user文件里,互不干扰,主配置文件的变更也能正常版本化管理,完美解决你的需求!
内容的提问来源于stack exchange,提问作者user1069516
相关产品推荐
相关产品推荐

