将一个git存储库的问题链接到另一个存储库的提交

时间:2018-04-02 08:14:56

标签: git github repository

我有两个项目“project-A”和“project-B”。这些问题正在“项目A”中报告,但实际开发正在“项目-B”中进行。

在每个提交评论中引用“project-A”具有挑战性。我正在探索一个更好的选择,将“project-A”的问题链接到“project-B”代码提交。一个简单的问题是开发人员是否在“project-B”中提交了“#23 fixed”评论,它应该在'project-A的相关问题评论历史中可见。

由于

6 个答案:

答案 0 :(得分:1)

  

当项目开始时,我们设置了repo项目-A并将其传达给客户。

     

但后来由于一些问题我们不得不创建另一个repo项目-B并且在一段时间之后我们意识到客户正在使用project-A repo来记录问题。
  我们不想让客户更改回购

Thant表示project-A可以引用project-B作为子模块 不适用于project-B来源,而是能够将project-B主要SHA1的状态记录为project-A回购中的提交。
并且该提交的注释(在父代repo project-A中)可以自动进行project-B的最后一次提交。

因此,如果开发人员进行了新的提交"修复#123"在project-B中,project-A可以使用最新的project-Btracking a branchgit submodule update --remote)自动记录新的提交,并附上评论最后一次提交project-B:"修复#123"。

答案 1 :(得分:1)

  

不,它们都是完全不同的存储库,但在其中   同一个组织

似乎只能这样做,就是创建一个github bot或调整现有的CI(如travis),并关闭其他存储库上的问题,如果它们在你当前的提交中关闭的话。

答案 2 :(得分:1)

我不知道有任何交叉引用项目的方法来反映您所描述方式的提交:

  

链接"项目-A"与"项目B"相关联代码提交。

我会说明显而易见的:

  • 所描述的是维护发布分支"项目-A"
  • 开发分支"项目-B"

尽管perforce不是git,但我发现"perforce best practices"论文是如何保持发布和开发分支机构健全性的最佳描述。直接进入第4页并开始阅读。

当您修复面向客户的错误" project-A"(在发布分支上维护)时,将这些更改合并到master,如参考文档中所述。

我更不赞成"git flow",但我不妨提及它。

底线:你不能从这里到达那里。在我所知的任何源代码控制范围内(subversion,ClearCase,perforce,git),你的问题都没有解决方案。

由于面向项目A的客户具有优先权(基于我对其他评论的阅读),您将希望将项目B引入项目A的回购。

这将构成自己的挑战,并在此基础上,使用git-flow可能适合您的需求,因为您将项目B作为开发分支。

这样做的难度取决于:

  1. 两个项目之间有多少分歧。
  2. 你对git本身的熟悉程度。
  3. 但是,越早解决问题,就越早消除团队的主要痛点。

答案 3 :(得分:1)

<强> 1。转换git提交消息:

从您的工作区

emp_id

请注意,这是一个客户端钩子。现在添加以下内容

phone_number

然后对任何文件进行更改,并使用以下消息提交它:

$ cd myrepo
$ vi .git/hooks/commit-msg

您的提交消息现在应该转换为链接。

<强> 2。在所有存储库上应用客户端挂钩:

here有一个非常好的答案。

答案 4 :(得分:0)

您可以通过写出完整的GitHub URL链接到不同存储库中的提交或问题。 GitHub会在显示时适当缩短它。

这适用于整个GitHub UI,包括提交消息。

答案 5 :(得分:0)

您可以直接提交问题地址。

git commit -m "This fixes https://github.com/auser/projecta/issues/1234"