我的Visual Studio 2017(已安装最新版本)和GIT存储库中存在一个非常奇怪的问题。
几个星期以来,我能够切换到另一个分支,而无需提交我的代码更改。
示例:
那不行!它使分支变得无用!我该如何解决这种奇怪的行为?
谢谢!斯蒂芬
编辑: 也许我的榜样不是最好的。我确定所有文件都会被跟踪。我尝试另一个示例:
在每个分支中-代码文件都相同。
更新:
我发现了以下内容:如果我在new_feature分支中提交了feature.aspx中的更改,然后又切换回master分支-那么我将按照原样返回unchange feature.aspx。但这是潜在的错误源! 因此,似乎我只想找回限制,如果当前分支中有未提交的更改,则无法更改分支。 在哪里可以找到此设置?是VisualStudio的功能还是GIT的功能?
答案 0 :(得分:0)
如果该文件未跟踪,则Git没有分支之间该文件的内容差异的任何记录。如果该文件应该是该分支上存储库的一部分,则应提交该文件,或至少暂存该文件以进行提交并使用git stash
。如果藏起来了,您可以git pop
回到branch-1
时将文件放回到索引中。
答案 1 :(得分:0)
虽然我同意Josh Gust的回答,但这是一种以Visual Studio为中心的方法:
您似乎要添加的文件不在Git可以跟踪您的解决方案的文件夹之外。要确定是什么,您需要找到.git文件夹-这是一个隐藏文件夹,因此请确保您能够在File Explorer中查看隐藏文件夹。通常,您可以在解决方案资源管理器中右键单击解决方案,然后从上下文菜单中选择在文件资源管理器中打开文件夹。进入该目录后,如果您的解决方案处于Git源代码管理下,则应该看到.git文件夹。看一下.git文件夹的文件夹/文件路径,这就是Git根目录。有了这些信息,您需要确保将添加的任何文件添加到该根文件夹或其子文件夹之一。根据您的描述,您要添加的文件位于解决方案的Git根目录之上(因此不在文件中),在这种情况下,无法跟踪该新添加的文件。