git branch alias - 单个分支的多个名称

时间:2014-09-29 16:02:39

标签: git branch alias

这是我的情况 - 比如我有两个项目'Proj0'和'Proj1'以及三个不同的git存储库'repo0','repo1'和'repo2',这两个项目都依赖于这些项目。无论出于历史和合同的原因,这两个项目都取决于这三个回购的不同版本(分支)。因此,对于Proj0,repo0需要在master上,repo1需要在dev上,repo2需要在release上。对于Proj1,repo0需要在bugFix0上,repo 2需要在dev上,repo3需要在dev上。总结:

Proj0:
  repo0: master
  repo1: dev
  repo2: release

Proj1:
  repo0: bugFix0
  repo1: dev
  repo2: dev

在将来的某个时候,repo0:bugFix0将被批准并合并到master中,因此一旦修复得到批准,Proj1的所有开发人员都需要切换到master。

我的问题是,在git中有没有办法设置分支别名,以便我可以将全局共享别名指向特定分支?这样,我可以指定Proj0的所有开发人员签出一个名为branch0的分支,并且Proj1的所有开发人员都签出一个名为branch1的分支用于所有repos。对于每个repo,别名将仅指向项目正在跟踪的当前实际分支,例如, repo0:branch0-> master,repo0:branch1-> bugfix0,repo1:branch0-> dev,repo1:branch1-> dev,repo2:branch0-> release,repo2:branch1-> dev。因此,上表简单如下:

Proj0:
  repo0: branch0 (master)
  repo1: branch0 (dev)
  repo2: branch0 (release)

Proj1:
  repo0: branch1 (bugfix0)
  repo1: branch1 (dev)
  repo2: branch1 (dev)

然后,当bugfix0被批准并合并到master中时,repo0:branch1别名只需要更改为指向master,表格将如下所示:

Proj0:
  repo0: branch0 (master)
  repo1: branch0 (dev)
  repo2: branch0 (release)

Proj1:
  repo0: branch1 (master)
  repo1: branch1 (dev)
  repo2: branch1 (dev)

注意:我看过git symbolic-ref并不是我想要的东西 - 我不是,但可能很接近,或者我使用它错了。这里的关键是repo1:dev上的持续开发应该由repo1跟踪:branch0 全局。我真的只想要分支的多个名称(即分支别名)。

提前感谢您的帮助!

0 个答案:

没有答案