使用Visual Studio 2015切换Git分支会导致更改问题

5
我有以下情况:
  1. 从master创建本地分支
  2. 在本地分支上工作,提交更改
  3. 使用Visual Studio git插件切换到master
  4. 在master上进行一些更改,提交,同步
  5. 当我切换回本地分支时,对于我在master上编辑的文件,该分支立即有未提交的更改。因此,如果我查看这些文件的更改,实际上没有任何更改,但我猜测文件的修改日期已更改或其他某些原因。

起初这只是一个麻烦,但当您切换回master时,master将对在本地分支中编辑的文件进行“幽灵”更改,因此,如果您继续这样工作一段时间,合并两个分支时将会出现冲突,这可能会导致工作丢失。

有什么线索吗?

2个回答

2

问题可能出现在CRLF上 (如何更改行尾设置)

  1. 检出Windows样式,提交Unix样式的行尾 Git将在检出文本文件时将LF转换为CRLF。当提交文本文件时,CRLF将被转换为LF。对于跨平台项目,在Windows上推荐使用此设置("core.autocrlf"设置为"true")。
  2. 按原样检出,提交Unix样式的行尾 Git在检出文本文件时不会执行任何转换。当提交文本文件时,CRLF将被转换为LF。对于跨平台项目,Unix上的此设置是推荐的("core.autocrlf"设置为"input")。
  3. 按原样检出,按原样提交 Git在检出或提交文本文件时不会执行任何转换。不建议选择此选项用于跨平台项目("core.autocrlf"设置为"false")

0

你的忽略文件在两个分支上都正确吗?可能是你不小心添加了一个 Visual Studio 使用的文件,它不应该在你的代码库中。

你可以尝试使用经过筛选的 .gitignore 文件,例如 这个。但如果你已经将这些文件添加到你的代码库中,Git 将会继续跟踪它们的更改,即使它们在忽略文件中。


忽略的文件在所有分支中都没有被修改过。如果是这种情况,我可以从git ignore中忽略一些特定的文件更改。但实际上更改的是在切换分支之前编辑/创建的文件。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接