.vs文件被覆盖而无法合并?

时间:2019-06-03 20:15:43

标签: git visual-studio visual-studio-2017

我在Visual Studio 2017中使用Git,最近才从TFSVC导入存储库。我能够从我的母版创建一个分支,然后针对新分支进行开发,现在我试图将该分支合并到我的母版中,但出现以下错误。

我要说的一部分问题是,我最初没有安装.gitignore文件。刚接触Git时,我没有意识到自己需要一个,在将回购从TFSVC迁移到Git的导入过程中,从未问过我要创建一个。自从初始设置以来,我一直在使用Visual Studio为我创建一个.gitignore文件,该文件应包括.vs文件,但是我认为该错误是由于我在拥有.gitignore文件就位。

关于如何使事情正确同步的任何建议?我唯一的另一个想法是制作本地Git存储库的备份副本,以便获得我的代码,然后删除远程和本地Git存储库,再次进行导入,立即添加.gitignore,与远程存储库同步,复制将所有更改的代码移到项目中,然后再次提交并同步。一切似乎都像跳铁环一样,我猜想有一种更简单的方法来解决这个问题,但我不确定那是什么。

这是我遇到的错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

  

请在合并之前提交您的更改或将其保存。

出现错误是因为您(或VS)对storage.ide-{shm,wal}文件进行了一些更改,这些更改已由Git跟踪,但尚未提交修改。错误消息提出了两种解决方法:

  1. git add -ugit commit,那么您将能够pull并继续编码。
  2. git stash,然后依次是pullgit stash pop,以恢复修改后的文件。

如果对这些文件进行了无意的跟踪,则您必须仔细git rm来避免将来再次发生此冲突。我会先将文件(可能是sqlite3的所有文件)复制到其他位置,然后再复制git rm <file>,然后再复制回去。