链接其他回购协议

我有一个项目,依赖于两个回购在 github 的功能。 当我提交我的项目给 github 我如何链接到这两个回购? 我应该复制我自己的回购文件或链接到其他回购在一个特定的修订,因为我不希望它更新和造成不兼容。 我已经创建了我的 github 回购,我该怎么办?

104590 次浏览

You can use git submodules to "link" to other projects. See here - http://help.github.com/submodules/

There is an alternative to submodules that I found out to be more practical: subtree.

According to this link the advantages are:

  • Management of a simple workflow is easy.
  • Older version of git are supported (even before v1.5.2).
  • The sub-project’s code is available right after the clone of the super project is done.
  • subtree does not require users of your repository to learn anything new, they can ignore the fact that you are using subtree to manage dependencies.
  • subtree does not add new metadata files like submodules doe (i.e. .gitmodule).
  • Contents of the module can be modified without having a separate repository copy of the dependency somewhere else.

GitHub will also allow you to reference another repository in a comment on GitHub or in a commit. For example:

We should probably handle this with github/enterprise#59

This will add an update to the issue github/enterprise#59 with a link to your comment/commit.

Cross-Repository Issue References

enter image description here

Sure, GitHub's all about social coding, but you can have social repositories, too. You can reference issues between repositories by mentioning user/repository#number in an issue. Once we see something like that — say, github/enterprise#59 — we'll make sure to update issue #59 in github's enterprise repository and let you know where it was referenced from. This is a part of GitHub Flavored Markdown, which also has a few tricks of its own.

Read more: https://github.com/blog/967-github-secrets