我的问题与此类似:With "git svn", Can I Ignore Specific Git Commits While Fetching?
我使用git-svn和标准的svn repo:
trunk
branches
tags
然后一个同事意外地将根分支到一个项目分支中,所以它看起来像这样:
trunk
branches
badProject
trunk
branches
tags
tags
如果分支已经死亡,我可能可以使用--ignore-paths
来忽略它
但是,在意识到错误之后,开发人员在/branches/badProjects/trunk
中提交了对错误项目的更改,然后将其合并到/trunk
git-svn fetch死了。我怎么能假装这个坏分支没有发生?
有没有办法让git-svn相信没有分支并将合并视为主干,就好像它是普通的checkin而不是合并的分支?
答案 0 :(得分:0)
假设我们将初始分支创建为666,在800处签入,在1000处合并 我设法按照以下方式开始工作:
git svn reset -r665
git svn fetch -rBASE:665
git svn fetch -r667:799
git svn fetch -r801:999
git svn fetch -r1000 --no-follow-parent
git svn fetch -r1001:HEAD
第1行和第2行确保我在错误提交之前退出。
第3行和第4行为不是坏分支的修订提取更改
第5行--no-follow-parent
获取合并但未确认它实际上是合并
第6行得到了其余部分。