【问题标题】:Git on Visual Studio shows files from another branch [duplicate]Visual Studio 上的 Git 显示来自另一个分支的文件 [重复]
【发布时间】:2019-08-03 04:57:37
【问题描述】:

我在 Visual Studio 2017 上做了以下测试:

1) 使用 master 分支创建了新的 repo:

它只有一个 gitginore 文件:

2) 使用 file1 创建 Branch1:

3) 再次结帐 master 分支,并打开“显示文件夹视图”:

为什么我会在 master 分支中看到 file1?

【问题讨论】:

  • 您是否将 File1 提交到 Branch1?如果您没有将此文件提交到分支,则您所描述的行为是预期的。在当前状态下,File1 是一个未提交的更改,并且在您更改分支时将保持不变,假设您要更改的分支上没有冲突更改。
  • 谢谢,看来我毕竟错过了提交。我正在从使用命令行 git(用于 java)过渡到 Visual Studio 上的 Azure Devops 'git' Repos,看到这种行为感到很沮丧。

标签: git version-control visual-studio-2017 azure-devops git-branch


【解决方案1】:

如果您在分支之间移动但不想提交,只需存储您的更改。

它将清理您的环境,因此当您移动到另一个分支时,不会留下任何东西。您将拥有一个干净的环境。

当您移回上一个分支时,您可以取消存储。

如果您熟悉 TFS,那么 stash 就像一个搁置集。

看看https://git-scm.com/docs/git-stash

当你想记录当前工作状态时使用 git stash 目录和索引,但想回到干净的工作 目录。该命令将您的本地修改保存并恢复 与 HEAD 提交匹配的工作目录。

【讨论】:

  • 感谢您的澄清。我知道我可以把它藏起来,但特别关心我在问题中描述的内容。谢谢。
【解决方案2】:

客户端 (Visual Studio) 和服务器端 (Azure DevOps) 都是 Git 的标准实现

正如评论所述,这是 Git 中的过期行为。

创建的文件(file1)在您添加并提交之前不会放入存储库中。

如果您切换回 Branch1 分支并提交该文件,那么它将不会再出现在主分支上。

【讨论】:

  • 什么行为过期了?有几个 cmets。
猜你喜欢
  • 2021-04-07
  • 2015-10-04
  • 2021-10-06
  • 2019-03-17
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多