windows – 在git中更改分支会导致修改文件
我在
Windows上使用git(1.8.3).如果我从github克隆一个repo然后立即检查该repo上的另一个现有分支,git会检测修改后的文件.通常.有时却没有.并且所有修改过的文件上的差异都是相同的(包括行结尾).在我的团队中至少4台不同的PC上的2个不同的repos上观察到了这个问题.
它并不总是相同的文件,但它几乎总是代表中的几个文件子集之一.例如,有时它在repo的根目录中是相同的5个文件,有时它在一个特定文件夹中是相同的93个文件,有时它在不同文件夹中是相同的16个文件. 一旦git将文件标记为已修改,如果我还原或存储它们,它们会立即再次标记为已修改,这使得无法在分支之间来回切换. 我觉得它与行结尾有关,但我已经添加了推荐的.gitattributes文件和每个分支renormalized,但我仍然有这些零星的问题.我想到的另一种可能性是在分支之间合并以某种方式搞砸了我所做的重整化,但我不知道如何测试该理论. 我们都有core.autocrlf = true,因为我们都在Windows上.这是我们的.gitattributes # Auto detect text files and perform LF normalization * text=auto # Custom for Visual Studio *.cs diff=csharp *.sln merge=union *.csproj merge=union *.sqlproj merge=union *.html text diff=html *.css text *.js text *.ejs text *.sql text # Standard to msysgit *.doc diff=astextplain *.DOC diff=astextplain *.docx diff=astextplain *.DOCX diff=astextplain *.pdf diff=astextplain *.PDF diff=astextplain 解决方法
有两种情况我见过这种事情:
>行结尾和Git尝试处理跨平台的所有疯狂选项. (我自己并不使用这些功能,而且我更喜欢存储和处理所有具有一致LF行结尾的文件,包括在Windows上.)>具有两个或多个文件的存储库,其名称仅在大小写不同.例如,readme.txt和ReadMe.txt. Windows上的Git很难处理这些情况,因为只有一个底层文件可以通过两个不同的名称访问. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何将十六进制字符串转换为Uint8Array并返回JavaScript?
- windows-server-2003 – Windows事件日志 – 服务器崩溃
- windows-server-2012-r2 – Windows中“logoff”和“shutdo
- windows-server-2008 – 购买Windows 2008服务器的最具成本
- Windows 7 QueryPerformanceFrequency返回2.4 MHz-ish?
- 克服Windows中的最大文件路径长度限制
- 域名系统 – Windows 2012无法验证没有根区域的转发器?
- windows-server-2003 – 使用SQL Server重新安装Windows Se
- Windows缺少Python.h
- windows – Win32 C – 当窗口恢复时做一些事情,哪条消息?