什么是关于SVN/IntelliJ的"切换文件"?

Nei*_*aft 8 svn tortoisesvn intellij-idea

我有一个现有的Maven项目,我用它来创建一个新的IntelliJ项目("从外部模型导入项目"选项).我更改了一些文件并提交了它们.

然后我意识到我在错误的分支上(让我们称之为wrong).我退出IDEA,使用Tortoise SVN切换到正确的分支(让我们称之为right),然后重新打开IDEA.一切似乎都很好,除了我现在在Changes窗口的Local选项卡中有一个名为"Switched Files"的组.这个"Switched Files"有一个名为"branches/wrong"的子组,它似乎包含整个存储库中的所有文件!这些文件与签入的文件没有区别right,大多数文件也没有与之相同wrong.然而,他们在我的更改窗口中.

此外,这些文件不会出现在Tortoise"Commit"窗口中,但它们显示在Tortoise"Check for modification"窗口中.但是,据我所知,这些文件还没有被修改,也没有任何属性被修改过.

什么是"切换文件",如何简单地将所有内容还原到right分支?

Nei*_*aft 8

显然这只是一个Subversion的事情.我不知道"切换"文件的概念.您可以使用命令行判断是否切换了某些文件:

$ svn st
    S  file1.txt
    S  file2.txt
Run Code Online (Sandbox Code Playgroud)

"已切换"文件将标有"S".如果您svn info对其中一个文件执行操作,您将看到列出的URL与当前分支的URL不匹配.有关详细信息,请参阅此SO帖子.

我仍然不知道它究竟意味着什么,或者只是通过"Tortoise - > Switch ......"进入该状态,但我确实知道如何修复它:

$ svn switch URL
Run Code Online (Sandbox Code Playgroud)

URL您要切换到的分支的svn:// URL 在哪里.这应该递归扫描所有文件并将它们牢牢地放在"正确"的分支上.

  • 我不知道。 (2认同)

mik*_*ail 5

我只是有一个类似的问题,在切换分支后,由于某种原因一个文件被标记为“已切换”。

通过确保没有进行任何本地更改,我可以通过IDEA修复此问题,然后切换回“错误”分支,然后再次切换至“正确”分支。

请注意,我使用IDEA进行切换,而不是使用Tortoise。