gpt4 book ai didi

git-svn 重命名跟踪分支

转载 作者:IT王子 更新时间:2023-10-29 01:15:04 25 4
gpt4 key购买 nike

我当前的 svn 克隆分支(使用 -s 'standard layout')选项被称为:

$ git branch -r
branch1
branch2

我想重命名它们,这样它们是:

$ git branch -r
svn/branch1
svn/branch2

就好像我最初调用了 $ git-svn clone --prefix svn 一样。我不需要更改远程端的任何名称。

最佳答案

假设您没有使用 git remote add ... 添加的另一个 Remote ,请尝试以下过程:

  1. git gc 将所有 refs 打包到 .git/packed-refs 中。
  2. 打开 .git/packed-refs 进行编辑。将“refs/remotes/”替换为“refs/remotes/svn/”。
  3. 打开.git/config 进行编辑。你应该看到类似这样的东西:

    [svn-remote "svn"]
    url = SVN_REPO_URL
    fetch = trunk:refs/remotes/trunk
    branches = branches/*:refs/remotes/*
    tags = tags/*:refs/remotes/tags/*

    将“refs/remotes/”替换为“refs/remotes/svn/”:

    [svn-remote "svn"]
    url = SVN_REPO_URL
    fetch = trunk:refs/remotes/svn/trunk
    branches = branches/*:refs/remotes/svn/*
    tags = tags/*:refs/remotes/svn/tags/*

    一定要更新任何远程跟踪分支。为此,您只需将整个文件中的“refs/remotes/”替换为“refs/remotes/svn/”即可。

我用 GNU Nano 存储库的 git-svn 镜像副本测试了这个过程,它似乎有效。

编辑: 我刚刚验证了这个过程不会搞乱 git-svn dcommit 或 rebase 操作。就好像 --prefix=svn/ 最初是在 git svn clone -s SVN_REPO_URL 命令中指定的。

关于git-svn 重命名跟踪分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381814/

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