git外部的拉请求

问题描述:

我一直与SVN工作到今天,所以我不熟悉git的高级功能。git外部的拉请求

我想克隆一个包含我在项目中使用的一些文件的回购站。 我的项目是在它自己的仓库中,所以当我提交他们在我的项目下的文件。如果我改变它们,它们也会在我的项目中实现。

但是,我希望他们被视为对我从其采购的回购的拉动请求。

在SVN中,我使用了svn-externals。我怎么能在git中做到这一点,所以它很容易?

您可以使用git submodule

最近的git版本现在允许git子模块跟踪子模块回购的最新提交。
Git1.8.2

git submodule”开始学习一种新的模式与远程分支的顶端集成(而不是与此提交记录在上层项目的gitlink整合)。

# add submodule to track master branch 
git submodule add -b master [URL to Git repo]; 

# update your submodule 
git submodule update --remote 

从手册页:

--remote 

此选项仅适用于update命令。
而不是使用超级项目的记录的SHA-1更新子模块,请使用子模块的远程跟踪分支的状态。

这接近于svn external的常见行为。

还有sub-trees

我发现子模块上的子树的主要优点是,该文件夹中的内容可以修改并从相同的父回购上游推回,尽管正确推子树中的文件的命令是不同的(git subtree push - P ...)

其他人克隆父回购得到的所有内容,而不必处理自己的子树命令。我认为,每个人都需要设置子系统并分别管理它们。