gpt4 book ai didi

git-svn 分支而不复制每个子目录

转载 作者:太空狗 更新时间:2023-10-29 13:34:31 26 4
gpt4 key购买 nike

我们项目的主干看起来像这样:

trunk/foo
trunk/bar
trunk/baz

foo、bar、baz这几个子目录其实是互不相关的,bar和baz其实都挺大的。我如何创建一个只有 foo 的分支,这样我的分支看起来像这样:

branches/branch1/foo
branches/branch2/foo

现在,我正在做的是对整个主干进行分支,然后删除 bar 和 baz,但我认为这在 merge 期间会出现问题,因为它会尝试删除 bar 和 baz。我想要的是让它足够智能,知道我只想使用 foo 而不想对 bar 或 baz 做任何事情。

次要问题,不那么重要,如果我想要一个带有 foo 和 bar 的分支怎么办,比如:

branches/branch1/foo
branches/branch1/bar

分支这两个文件夹而不分支其他文件夹的过程会更难吗?

编辑:有人向我指出我可以使用 svn cp。这行得通,但我希望从 git svn repo 开始工作,据我所知,git-svn 最接近 svn cp 的模拟是 git svn branch,它会自动处理复制。不幸的是,我在那里找不到任何选项可以让我只分支一个特定的子目录。

最佳答案

一个巨大的 svn 存储库由许多 git 存储库代表是很常见的。你应该用过 git svn init .. -t trunk/foo -b branches/branch1/foo -b branches/branch1/foo 等。注意:init,不是 克隆。然后编辑.git/config:

[svn-remote "foo"]
url = http://server.org/svn
fetch = trunk/foo:refs/remotes/foo/trunk
branches = branches/*/foo:refs/remotes/foo/branches/*
tags = tags/*/foo:refs/remotes/foo/tags/*

然后执行git svn fetch。此外,您可以指定 --ignore-paths,例如,忽略 docs 目录。

在那之后 git svn branch 应该做正确的事情。参见 git-svn manual .

关于git-svn 分支而不复制每个子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731529/

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