如何在 git 中跟踪多个 svn 分支

发布于 2024-07-12 05:54:52 字数 26 浏览 8 评论 0原文

给猫剥皮的方法有很多种,有人能改进吗?

There are so many ways to skin a cat, can anyone improve on this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明月松间行 2024-07-19 05:54:52

这是一篇很棒的文章,但真正帮助我的是理解 git svn 的配置。

假设您的 SVN 设置如下:

$SVN_ROOT/project/trunk
$SVN_ROOT/project/branches
$SVN_ROOT/project/tags

您的 .git/config 如下所示:

[svn-remote "svn"]
    url = $SVN_ROOT
    fetch = project/trunk:refs/remotes/git-svn
    branches = project/branches/*:refs/remotes/*
    tags = project/tags/*:refs/remotes/tags/*

然后 gitbranch -r 将列出所有远程分支。 “project/branches/*”表示分支目录中 SVN 上的任何内容都会映射到远程分支。

git checkout $branch 会检查它,但你真正想做的是 git checkout -b my_feature $branch 并工作你的本地分支(植根于远程分支) ,然后在完成后合并。

That's a great article, but what really helped me was to understand the config for git svn.

Assuming your SVN is setup like:

$SVN_ROOT/project/trunk
$SVN_ROOT/project/branches
$SVN_ROOT/project/tags

your .git/config looks like this:

[svn-remote "svn"]
    url = $SVN_ROOT
    fetch = project/trunk:refs/remotes/git-svn
    branches = project/branches/*:refs/remotes/*
    tags = project/tags/*:refs/remotes/tags/*

then a git branch -r will list all the remote branches. The "project/branches/*" says that anything on SVN in the branches dir is mapped to a remote branch.

git checkout $branch will check it out, but what you really want to do is git checkout -b my_feature $branch and work your local branch (rooted at the remote branch), and then merge in when you are done.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文