切换分支会提示保存文件

时间:2016-07-30 02:37:05

标签: git tfs visual-studio-2015 tfs2015

好吧,现在我好像已经走了,所有事情都搞砸了。

我试图了解Git如何工作以及如何在Visual Studio / TFS 2015.3环境中使用它。

问题在于:当我创建一个分支并对其进行更改时 - 例如添加一个新的SomeClass类-VS现在问我是否要在双倍时保存已更改的项目 - 点击切换分支。这种行为是新的 - 以前我可以在没有这样的提示的情况下切换分支。

在这里忍受我......我需要给你一个悠久的历史,以便你了解整个背景。

我设法让VS解决方案与远程仓库同步。我运行了我的第一个TFS版本,我非常高兴。但是,构建产生了警告,没有运行任何测试。很公平;我没有包括一个测试项目。所以我创建了一个名为add-test-project的新本地分支并添加了项目。

我发现在VS中我可以通过双击每个masteradd-test-project之间来回切换。我注意到master分支没有包含测试项目,但是add-test-project分支没有。这是有道理的;我还没有合并任何东西。

所以我做了合并/提交/拉取请求/同步的事情(我不记得如何或以什么顺序)并且它似乎已经工作 - 这次构建没有注册警告。

(旁注:当我执行拉取请求时,我看到VS在我的默认浏览器中打开了相应的TFS页面时有点失望 - 我本想在IDE中完成所有操作。)

我决定跳过整个拉取请求的事情,因为1)我想留在IDE中2)我独自工作,所以这是一个不必要的步骤。而这正是我认为最终导致我的麻烦。

然后我做了一些分支/同步/提交/合并循环(就像我说的那样,我不记得也不确定我做了/应该做的顺序 - 每个周期都有不同顺序我确定)。现在,我无法在不提示保存更改的情况下切换分支。这些变化都存在于两个分支中。

我的本​​地Git仓库是否以某种方式损坏了?我尝试使用文件资源管理器删除.git.vs隐藏文件夹,重新打开VS并重新克隆存储库,但问题仍然存在。

如何将事物恢复到原来的位置,我可以在哪里切换分支以查看特定于当前分支的代码状态?也许以某种方式删除服务器上的所有提交?但我没有办法做到这一点。

我确信我可以用焦土解决方案来解决这个问题,'例如擦掉所有东西并从头开始,但我想知道我做错了什么(以及如何解决它),所以我可以避免再次这样做。

修改

值得一提的是,现在情况变得非常糟糕,以至于当我在课程文件中进行更改时 - 例如。添加构造函数-V2不再在该文件旁边放置红色复选标记。 真的在这里走了一些东西。

1 个答案:

答案 0 :(得分:1)

好的,我明白了。我正在主持一部错误喜剧。

首先,我将解释复选标记问题:事实证明我已经重新克隆到一个完全不同的位置,所以我甚至没有打开正确的解决方案。因此,我不应仅删除之前的.git.vs文件夹,而应在本地删除所有内容,并通过重新克隆到原始位置从头开始。

现在针对保存文件提示问题:我没有将更改提交到我的本地仓库。一旦我这样做,我就可以在分支之间来回切换,并且更改会按预期反映出来。

现在我很确定我已经有了正确的顺序:

  1. 新分支
  2. 进行所需的编码更改
  3. 本地提交
  4. 本地合并为主人
  5. 推送到远程
  6. 如果我对这个序列不正确,有人会这样说,或者我是否正确确认。感谢。

    修改

    我还为自己建立了一条新规则:使用与本地仓库相同的名称和遥控器。