Git:如何将子目录推送到同一存储库的单独分支

劳伦

我正在处理的当前项目仅限于一个git存储库。我当前的工作目录如下所示:

dist/
  *distribution files

src/
  *src files

我们已经设置了Azure服务器,以自动部署推送到仓库的“部署”分支的所有内容。因此,目标是将src文件推送到master,并将dist文件夹的内容推送到“ deploy”分支。

到目前为止,我一直在做的工作是分支master,删除src文件夹,然后将dist文件夹的内容移到根目录,然后再进行部署。

我知道理想情况下我们将有单独的存储库,但这不是当前的选择。有没有更简单的方法可以做到这一点?

韦兰

git的子树命令为这个伟大工程。在您的master分支机构中:

git subtree split --branch deploy --prefix dist/

每次您要更新deploy分支时,只需运行该命令即可它将合并dist子目录(可能是当前分支的子目录master)中的每个提交到分支的根,deploy并维护完整的提交历史记录。请注意,只有dist子目录中的更改将被合并。如果提交包含对dist子目录和存储库中其他文件的更改,则仅dist包含子目录中的更改

棘手的部分是安装。据我了解,该命令包含在git 1.7.11及更高版本中。但是,它位于“ contrib”子树中,因此默认情况下未安装。在系统的程序包管理器中搜索“ git-subtree”,然后安装该程序包(如果存在)。如果不是,或者您使用的是旧版本的git,我发现的最简单的方法是从作者的repo安装git-subtree

git clone https://github.com/apenwarr/git-subtree.git
cd git-subtree/
make install

安装完毕后,您可以按照docs中的说明使用它进行各种有趣的操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Git存储库历史记录重播到子目录中?

如何将新的本地分支推送到远程Git存储库并进行跟踪?

Git:两个子目录,如何从不同分支中拉出并推送到一个主分支

如何将文件推送到存储库中的目录

将子目录分离(移动)到单独的Git存储库中

如何将 Kubernetes 配置与代码存储在同一存储库中?

如何将本地git存储库推送到svn

Git:如何仅克隆Git存储库的子目录?

如何将分支推送到单独的远程仓库中?

如何仅克隆Git存储库的子目录?

如何将yum存储库映射到Artifactory中的某个子目录?

如何将贡献者限制在Github存储库的子目录中

如何将文件推送到git存储库而不推送到Heroku?

我如何将提交推送到已经从本地存储库推送到 git 的 heroku?

如何获取git diff文件,并将其应用于作为同一存储库副本的本地分支?

Git-如何将目录中的更改自动推送到另一个分支

git将子目录与另一个存储库合并

如何将新代码推送到现有存储库?(作为一个新的分支)

如何将现有的嵌套存储库(已在子目录中签出)添加到父Git存储库作为子模块?

我可以使用Git子模块将一个分支的副本保留在同一存储库中另一个分支的目录中吗?

将 git 分支推送到其他存储库

如何将子目录移动到同一目录中的另一个子目录中?

在保留所有历史记录的同时,将git存储库移到同一路径下的子目录

如何将新项目代码推送到现有 github 存储库中的特定分支?

执行硬重置后如何将开发分支推送到远程存储库?

如何将Git服务器存储库问题推送到Github存储库?

可以将Git存储库的上游设置为同一存储库的本地克隆吗?

git,如何将本地分支推送到特定的远程

如何将分支更改推送到 Git Repo?