同时使用VS2015访问分支之间的代码

时间:2017-01-15 15:05:29

标签: git visual-studio-2015 branch

我使用git集成在Visual Studio 2015中进行编码。通常,我需要查看来自不同本地分支的代码,以便我可以同时分析来自每个分支的代码部分,并且可以轻松地在分支之间同时复制和粘贴代码。这与将现有更改从一个分支合并到另一个分支不同。我需要能够在屏幕上同时打开2个独立的分支。

Visual Studio可以在git分支之间切换,但是一旦你这样做,所有访问该git文件夹的开放Visual Studios也会切换。

我搜索并找到了一个解决方案,但它并不是最优的:检入所有内容,然后将源树复制到.git目录上一层。从原始目录在解决方案上打开一个Visual Studio,然后在复制目录中的解决方案上打开第二个Visual Studio实例。每个都是相互独立的,您可以在一个Visual Studio中打开不同的分支,而不会影响其他Visual Studio的行为。

有没有人有这个问题的解决方案,不涉及2个源代码副本?

2 个答案:

答案 0 :(得分:1)

Git 2.5终于得到了一个答案,一个名为Git WorkTree的功能。

https://git-scm.com/docs/git-worktree

  

git存储库可以支持多个工作树,允许您使用   一次检查多个分支。使用git worktree添加一个新的   工作树与存储库相关联。这个新的工作树   被称为“链接工作树”而不是“主要工作树”   树“由”git init“或”git clone“编写。存储库有一个主要的   工作树(如果它不是一个裸存储库)和零或多个链接   工作树。

     

添加路径[branch]创建路径和checkout分支。该   新工作目录链接到当前存储库,共享   除工作目录特定文件(如HEAD)之外的所有内容   索引等 - 也可以指定为;它是。的代名词   @。{ - 1}

答案 1 :(得分:0)

  

有没有人能解决这个问题而不涉及2   源代码的副本?

不,但是有一个可行的解决方案(IMO),其中包含两个代码副本。

首先,我假设你有一些你在本地克隆的集中存储库。从您的本地克隆中,您有两个功能分支(让我们称之为FeatureAFeatureB)。如果可以,请将本地存储库克隆到单独的文件夹中。在该新克隆中,结帐分支FeatureB。在原始克隆(来自中央服务器的克隆)中,结帐分支FeatureA。现在你可以做任何你想要的比较 - 虽然有两个代码副本。

这不会要求您检查您在任何代码副本中正在执行的任何工作。