0

我有一个大型 Rails 项目,其中随时都有多个功能分支处于活动状态。我们有一个长时间运行的任务(重建数据库,运行测试)。

我希望能够在一个功能分支上运行测试任务,同时更改另一个功能分支上的代码。有没有办法在某个分支上运行特定命令,但在另一个终端中激活另一个分支?

4

2 回答 2

3

一些 Git 命令可以对任何引用进行操作,它不必是当前检出到工作副本中的分支:

git log <branch>
git diff <branch-one> <branch-two>

其他 Git 命令仅在您当前已在工作副本中签出的分支上运行:

git reset --hard head@{1}

如果您的测试依赖于某个分支检出到您的工作副本中,那么据我所知,您不能将多个分支检出到您的工作副本中,您只能有一个工作副本。

作为替代方案,您可以再次克隆您的本地存储库,以通过这种方式获得第二个工作副本:

git clone <path to local repo> second-repo
于 2013-08-07T17:47:23.547 回答
1

我不这么认为...

如果确实需要这种行为并且会经常使用,那么在不同的位置再次克隆您的存储库可能是值得的。

您是否正在尝试运行需要很长时间才能运行的命令?

如果您的项目允许,您可以合并两个分支并从第一个分支运行命令,同时仍处理另一个分支的内容。

于 2013-08-07T17:34:13.253 回答