带有 Visual Studio 2013 的 github - 由于未提交的更改而无法拉取

Posted

技术标签:

【中文标题】带有 Visual Studio 2013 的 github - 由于未提交的更改而无法拉取【英文标题】:github with Visual Studio 2013 - cannot pull because of uncommitted changes 【发布时间】:2014-08-01 11:40:19 【问题描述】:

我现在是一名单身开发人员,但我确实有工作场所,而且我也在家里工作。 Github 对我来说非常理想,因为目标是跟踪我的代码,但也只是将它保存在一个好的存储库中,这样我就不会丢失它。所以这是我的工作流程...

在家工作 (site a) 经常向 github 提交更改 有时,一天最多可提交 20 次,具体取决于生产力。我承诺 经常。 去其他工作site b(通常是办公室) 在site b 克隆存储库 这是在 Visual Studio 中完成的,方法是转到 Team Explorer -> Projects -> Connect to Team Projects,然后将 Clone 与 github 存储库 URL 一起使用。

重新下载 nuget 包等 - 当天在 site b 恢复正常工作 我也在这里执行频繁的提交。 回家 (site a) 并打开 Visual Studio 2013 打开我正在做的项目 转到Team Explorer -> Unsynched Commits 并单击Pull

有时有效 但是,有时我会收到以下错误我不知道为什么

如果我在尝试拉动之前对当前项目进行了编辑,我会理解这一点 - 但我没有。我所做的只是加载 Visual Studio。它说“查看输出窗口了解详细信息”,但输出窗口完全空白 - 没有详细信息,在这种情况下,我找到的唯一答案是从我的计算机中删除整个项目并再次克隆整个存储库。

当然这是不对的,我是 git 的新手,我一遍又一遍地阅读文档,这对我来说仍然没有意义。任何人都可以帮助阐明这一切吗?

【问题讨论】:

你可以通过执行命令'git status -s'来仔细检查任何更改的待提交。 我应该在哪里执行呢?到目前为止,我从未通过命令行使用过 git,只有 Visual Studio 界面。 从项目主目录 在命令提示符中是 我只得到结果'git' is not recognized as an internal or extranl command, operable program or batch file. 【参考方案1】:

pull-ing 之前,您需要先stash 您未提交的更改。 Visual Studio 尚不支持完整的 Git 功能,包括 git stash,因此您必须通过 command line 或在 Visual Studio 之外使用类似 Source Tree 的东西来处理这种情况。运行git status -u 以查看未提交的更改,运行git stash 以在拉取/同步之前暂时隐藏它们。偶尔 Visual Studio 会缓存状态结果并与现实不同步,在这种情况下杀死 Studio,删除 .git\ms-persist.xml 文件并重新启动。

【讨论】:

@Ciel 如果您对命令行或 Chocolatey 不满意,我建议您安装 Source Tree,它会为您下载并为您提供一个很好的存储界面。 明确一点,你指的是这个程序吗? sourcetreeapp.com(关于它的一切都符合你的说法,所以我假设是这样) @Ciel 取决于将显示为未提交的内容。请记住,Git 命令行是“事实来源”,当 git status 和 Studio 给出不同的结果时,信任 git,Studio 是为非 DVCS TFS 构建的,甚至删除只读标志也有资格作为更改,因为 Windows。 Studio 中对 Git 的“本机”支持还处于早期阶段,有很多错误和缺失的功能,但无论如何都支持它们。 所以“更改”可能就像我在 Visual Studio 中打开解决方案一样简单。这实际上可以解释很多。我想知道他们在 Microsoft 是否知道这一点……我将尝试找到合适的联系地点,向他们展示这一点,看看是否可以对此进行调查。 @Ciel 如果只是在 Studio 中打开解决方案会产生新的更改,您应该查看您的 .gitignore 文件,此生成的文件是特定于用户或计算机的,不应被跟踪或成为您的存储库的一部分, binobj 文件夹,.suo 文件等

以上是关于带有 Visual Studio 2013 的 github - 由于未提交的更改而无法拉取的主要内容,如果未能解决你的问题,请参考以下文章

带有 C++ Visual Studio Community 2013 的 Arduino 程序

带有 Visual Studio 2013(C++) 的 OpenCV:findContours 断点错误

安装/卸载“带有更新 5 的 Visual Studio Community 2013”​​的问题

带有 Visual Studio 2013 的 Qt 5.4 - 缺少 QtCored.dll

带有 Visual Studio 2013 编译器的 Eclipse CDT (C++ IDE)

带有 Visual Studio 2013 的 github - 由于未提交的更改而无法拉取