在我们的git控制的代码库中有几个文件我想重命名.具体来说,我只想更改文件的大小写,例如,这样sourceCode.java就变成SourceCode.java了.问题:我在Windows机器上,文件系统认为这些文件名相同.
如何让Windows和Git识别出更改并将其检入?
我有两个分支,一个叫做master,另一个叫做dev我目前在master分支中,我想去dev分支把文件移到开发服务器上.但是,当我表演时
$ git checkout dev
Run Code Online (Sandbox Code Playgroud)
我收到消息:
以下未跟踪的工作树文件将被checkout覆盖:
Run Code Online (Sandbox Code Playgroud)pages/memclub/images/subheaders/leadership.png pages/memclub/images/subheaders/male.png pages/memclub/images/subheaders/marketing.png pages/memclub/images/subheaders/training.png
我不想将文件提交给主人,他们还没准备好被推送.
我在Visual Studio 2010中单独使用Git作为我的本地软件项目.最近我创建了一个新的分支来对其中一个对话窗口进行更大的重构.我做了以下修改:
我将这个更改检查到了分支,比如表单重构.有趣的是,Git并没有注意到我将文件Form1.cs重命名为Form1a.cs并创建了一个全新的,完全不同的Form1.cs,但它发现了一个新的Form1a.cs文件并发现了它之间的很多差异.以前和新的Form1.cs文件.这当然会导致完全无用的差异,但在这种情况下我不在乎,只要最终正确处理所有文件.
然后我切换回主人做了一些其他的小改动.没有任何冲突.到现在为止,一切正常.
今天,我想切换回我的分支表格 - 重构以继续这项工作.但我得到的是以下信息:
git.exe checkout form-refactoring
Aborting
error: The following untracked working tree files would be overwritten by checkout:
Form1.Designer.cs
Please move or remove them before you can switch branches.
Run Code Online (Sandbox Code Playgroud)
应该是什么?提到的文件不是未跟踪的.既不在主分支中,也不在形式重构分支中.它是两个分支的一部分,但一个不是另一个分支的后代.如果我删除它会发生什么,它会好转吗?如果我现在删除了某些东西,我不相信Git会带回正确的文件.除了我提到的Git操作之外,我根本没有使用任何文件,那么我为什么要玩任何文件来继续使用Git操作呢?Git打破了它,Git现在应该处理它!
现在,我无法继续工作,因为我无法切换分支.有一个简单的解决方案吗?
Git版本是1.7.6,TortoiseGit是1.7.3.
我有分支 A 和分支 B。
在分支 A 上,我有一个带有该名称xyz的包,我将包名称更改为xYz. 接下来,我提交所有更改,然后切换到分支 B。现在,一旦切换到分支 A,我更改的包的值仍然xyz不是我提交的值。这在很多情况下都会发生。
问题: git 是否忽略文件名中的大小写更改,还是这是我的问题?如果有帮助,我正在使用 SourceTree 客户端。