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

Cie*_*iel 18 git visual-studio-2013

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

  • 在家工作(site a)
  • 经常更改github
    • 有时,根据生产力的不同,一天最多可提交20次.我经常承诺.
  • 去其他工作site b(通常是办公室)
  • 克隆存储库在 site b
    • 这是在visual studio中完成的,转到Team Explorer- > Projects- > Connect to Team Projects,然后使用Clonegithub存储库URL.

克隆

  • 重新下载nuget包等 - 恢复site b当天 正常工作
    • 我也经常在这里提交.
  • 返回home(site a)并打开Visual Studio 2013
  • 打开我正在研究的项目
  • 转到Team Explorer- > Unsynched Commits然后单击Pull

拉

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

错误

如果我尝试拉动之前对当前项目进行了编辑,我会理解这一点- 但我没有.我所做的就是加载Visual Studio.它显示"请参阅输出窗口以获取详细信息",但"输出"窗口完全空白 - 没有详细信息,在这种情况下,我发现的唯一答案是从我的计算机中删除整个项目并再次克隆整个存储库.

当然这是不对的,我是一个完全新手的git,我已经反复阅读文档,这对我来说仍然没有意义.任何人都可以帮忙解释一下吗?

Ily*_*kov 29

在开始之前,pull您需要首先进行stash未提交的更改.Visual Studio不支持所有Git功能,包括git stash,因此您必须通过命令行执行此操作,或者在Visual Studio之外使用Source Tree之类的东西.运行git status -u以查看未提交的更改并git stash在拉/同步之前暂时隐藏它们.偶尔Visual Studio将缓存状态结果并与现实不同步,在这种情况下kill Studio,删除.git\ms-persist.xml文件并重新启动.

  • @Ciel如果你对命令行不熟悉或者我会推荐安装Source Tree,它会为你下载它,并为你提供一个很好的存储接口. (2认同)
  • @Ciel如果只是在Studio中打开一个解决方案创建新的更改你应该检查你的`.gitignore`文件,这个生成的cruft是用户或计算机特定的,不应该被跟踪或成为你的仓库的一部分,`bin`和`obj`文件夹,`.suo`文件等 (2认同)