Wil*_*sch 17 git visual-studio xamarin xamarin-studio
我在一个人们使用两个不同的IDE(Visual Studio和Xamarin Studio)来处理相同代码的环境中工作.不幸的是,它们生成的文件Resource.Designer.cs略有不同.这是一个自动生成的文件,但我们确实在VC中需要它,或者当您尝试在克隆后构建它时,项目会抱怨.
这里的问题是我们确实需要在vc中使用这个文件,但这些微小的变化非常烦人.如果您使用一个IDE提交项目,然后有人将项目下载到另一个IDE并重建,您会看到对该文件的更改.然后,如果您尝试切换分支,Git可能会因为合并冲突而拒绝.同样,如果您尝试合并两个分支,则几乎可以保证在该文件的标头中看到合并冲突.
如果两个人使用相同的IDE构建,但运行时版本略有不同,则会出现同样的问题.我正在查看一个示例,并在Git中显示以下更改:
- // Runtime Version: 4.0.30319.18444
+ // Runtime Version: 4.0.30319.34011
Run Code Online (Sandbox Code Playgroud)
解决问题的一个解决方案是,仅对于此文件,让Git始终选择注释的"本地"版本,并忽略对注释的所有更改.但我不知道是否有办法做到这一点.如果没有,是否有另一种方法可以避免对此文件进行少量更改而持续麻烦?
我们的开发团队通过承诺Resource.Designer.cs
我们的Git回购来解决这个问题.之后,每个开发人员都可以运行git update-index --assume-unchanged Resource.Designer.cs
以使Git忽略对该文件的更新.
更新索引后,对Resource.Designer
文件所做的更改将不会出现在执行a的"未提交的更改"部分中git status
.
如果必须提交该文件,则执行git update-index --no-assume-unchanged Resource.Designer.cs
,Git将再次开始跟踪对该文件的更改.
git 中有多种方法可以解决这个问题。请参阅: https: //gist.github.com/canton7/1423106。该链接涉及配置文件,但您可以根据需要将其应用到您的情况。
我认为解决此问题的最简单方法是将文件提交为Resource.Designer.cs.in
,然后在克隆后手动将其复制到Resource.Designer.cs
. 同时添加Resource.Designer.cs
到您的.gitignore
文件中。
归档时间: |
|
查看次数: |
4103 次 |
最近记录: |