gpt4 book ai didi

git - 从不同的存储库应用 gradle 文件

转载 作者:IT王子 更新时间:2023-10-29 00:45:28 24 4
gpt4 key购买 nike

我们有多个用于不同项目的 git 存储库。还有一个用于基础设施目的的 git 存储库。我们在这个基础架构存储库中编写了自定义 gradle 插件,我们在其他存储库中使用

例子:

buildscript {
apply from: 'foo/bar/devinfra-buildscript.gradle', to: buildscript
}
apply plugin: 'devinfra'

在这里,我们在每个 Git 存储库中都有 buildscript{} 文件 foo/bar/buildscript.gradle。我想知道是否有一种方法可以直接从基础架构存储库应用文件。这样任何更改都可以直接在其他存储库中看到。

最佳答案

在这种情况下,您可以添加 git subtree Merging (不同于 git subtree)到你的每个 repo,指的是 infra repo。

git read-tree --prefix=<subdirectory_name>/ –u <shared_library_branch>

您可以在“Managing Nested Libraries Using the GIT Subtree Merge Workflow”中看到一项这样做的研究。

http://www.typecastexception.com/image.axd?picture=Subtree%20Illustration_thumb_1.png

在你的情况下:

cd /path/to/project
git remote add infrarepo /url/to/infra/repo
git fetch infrarepo
git checkout -b infra infrarepo/master

git checkout master
git read-tree --prefix=infra/ –u infra
git commit -m "Add Infra subtree"

使用子树更改更新项目仓库:

git checkout infra
git pull
git checkout master
git merge --squash –s subtree –-no-commit infra
git commit -m "update infra"

使用项目仓库子树文件夹中的更改更新子树仓库:

git checkout infra
git merge --squash –s subtree --no-commit master
git commit -m "(infra subtree) nature of changes"

git push infrarepo infra

关于git - 从不同的存储库应用 gradle 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24709704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com