社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

分支不对齐时的git svn合并

jwm • 5 年前 • 1234 次点击  

我怀疑这可能只是 git svn ,但我想征求SO社区的意见。

我在做一个项目 视觉神经网络 用于版本控制。这不会改变,我无法控制。我很高兴在我的分支上做我的工作 git-svn . 然而,我遇到了一个奇怪的问题,与svn项目的奇怪设置方式有关。

在SVN中,项目如下所示:

  • 项目根
    • 分支机构
      • 迈科
        • DR1
        • DR2
        • 等。
    • 大旅行箱
      • 投影仪
        • DR1
        • DR2
        • 等。

git/CONFIG:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[svn-remote "svn"]
    url = http://svn-repo
    fetch = project/trunk:refs/remotes/trunk
    branches = project/branches/*:refs/remotes/*
    tags = project/tags/*:refs/remotes/tags/*

创建分支时,它们是在下面一级创建的 trunk . 我也无法控制。

当我试图从 MyBranch 大旅行箱 ,我的树向上合并一层。也就是说, MyBranch/Dir1 与…没有关系 trunk/Proj_Main/Dir1 . 在 视觉神经网络 在本机上,它确实理解这种关系,我可以使用 视觉神经网络 工具,但 Git 迷路了。

有没有办法告诉你 Git 那个 master 指向 trunk/Proj_Main 而不是仅仅 大旅行箱 ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43178
 
1234 次点击  
文章 [ 2 ]  |  最新文章 5 年前
jwm
Reply   •   1 楼
jwm    6 年前

@EFTShift0的进近正确。有时无法挽救糟糕的局面。我确保一切都与svn同步,然后重新开始。

git svn clone -r<start>:HEAD http://svn-repo/project \
    --prefix=mine/ \
    --trunk=trunk/Proj_Main --branches=branches --tags=tags \
    --no-minimize-url

因为这是一个非常成熟的SVN回购协议,而且我不关心5年前的历史,所以为了时间,我限制了克隆的范围。

这个 --prefix 是基于 git-svn docs .

而不是 -s --stdlayout ,我明确指定了svn中的布局方式。注意,早期应用此方法的尝试遇到了 git-svn bug 正在获取,可能与已删除的SVN分支有关。这是限制获取范围的另一个原因。

这个 --no-minimize-url 是因为服务器上存在其他回购协议。如果没有这个开关,git svn就会提升一个级别并考虑 全部的 试图解决分支、合并等问题的回购协议。那对我来说不是件好事。

eftshift0
Reply   •   2 楼
eftshift0    6 年前

编辑fetch行如下:

fetch = project/trunk/Proj_Main:refs/remotes/trunk

应该可以…… 然而 ,我不知道您是否需要再次从修订版1中获取这样的更改才能正常工作。