我需要打开2个Visual Studio实例,我将打开一个实例来查看Project X / Branch 1的代码。 另一个,将用于Project X / Branch 2中的代码。 怎么做,不要在提交操作中松动更改?
答案 0 :(得分:11)
这里的问题与Visual Studio无关,而是git的工作。 当您在git中检出一个分支时,它将把该分支放入您的工作树中(文件结构,无论您希望调用什么)。
使用git一次只能签出一个分支,但是请等待解决方案!
通过使用public void visitMethodCallExpression(PsiMethodCallExpression expression) {
super.visitCallExpression(expression);
PsiUtil.getMemberQualifiedName(expression.resolveMethod());
expression.resolveMethod().getContainingClass().getName();
expression.resolveMethod().getContainingClass().getQualifiedName();
}
命令,您可以在不同目录中为同一存储库创建第二个工作树。然后,您可以在Visual Studio中打开该工作树,以检出两个不同的分支。
假设您拥有“ C:\ projects \ the_project”,并且想在“ C:\ projects \ the_project_2”处创建一个新的工作树,打开git bash,导航至项目目录并运行git worktree
您要在新工作树中检出的分支在哪里?
这将创建一个新目录(“ C:\ projects \ the_project_2”),并将分支检入该目录,而无需重新克隆存储库。
有关更多信息,请参见git worktree documentation。
注意:Visual Studio的早期版本不知道如何处理其他工作树,因此不会将它们识别为git存储库。
答案 1 :(得分:1)
如果您需要在Visul Studio中打开代码,则需要签出分支。由于您无法同时检出同一目录中的两个不同分支,因此无法避免在单独的目录中签出每个分支。
但您可以将一个目录的远程设置为另一个git目录,这样您就可以在本地进行同步,而不需要任何外部目录。
假设您希望将两个分支都作为根公共目录ProjectX的子目录:
cd ProjectX
git clone -b branch1 <remote repo of project X> directory_branch1
git clone -b branch2 directory_branch1 directory_branch2
更新于2019年5月: 由于git woorktree现在正在使用基于GUI的工具并得到支持,这可能是今天使用的解决方案。
答案 2 :(得分:1)
正如@ewan 在评论中所说,“将 repo 克隆两次到不同的目录”是最快最简单的工作流程。
答案 3 :(得分:0)
如果您不关心源分支的git连接(您只是在看而不修改),则始终可以在该分支处于活动状态时复制包含解决方案的文件夹。那么一旦目标分支处于活动状态,您就可以打开该分支的非源代码控制版本