git-svn - 我可以将 svn rebase转换为特定的svn版本 ( 类似于svn上的R )?

  显示原文与译文双语对照的内容
0 0

短问题: 有什么git svn相当于 svn up -r r1130将只更新到编号与svn commit ( 号码)?

我使用git svn所以我可以同时使用git和管理( 许多我们工作组的) 本地分支SVN存储库。 我有一个版本的软件,我最多hack使用特定硬件设置。 自从我重新开始工作干,svn Repo也有飞跃过去稳定,好这项工作的终点。 我想更新本地分支编号修订表示稳定的commit 。 svn使用中我可以这样做 svn up -r r1130,但我还是喜欢git 。

我会一直忘记怎么做这种搜索过去和发现自己如此和帮助页面寻找最好的方法。 也许有一个不同的措辞Q&A,我缺少?

如果跟踪也很简单只需签出较旧的修订版本在干净的树,但当我进行的提交到树顶," 后退头重播工作心里有数。。" 通常从心底里爱意味着我会去看之前点在树中添加了我的更改 !

现在,我要 git svn rebase然后交互式rebase到又得提交我不想,但我仍然无法相信这是最好的甚至是好的方式这样做。

时间: 原作者:

0 0

我比较喜欢 rebase因为git svn是无论如何都得rebase所做更改之前, dcommit. 请尝试如下代码:

git checkout `git svn find-rev r1241`  # Go to the svn version of interest
git checkout -b master_r1241           # Create a new brach matching it
git checkout hwTesting                 # Merge previously created changes
git rebase master_r1241                # rebase on top of not quite up-to-date master branch

你能做到在一个步骤中完成以下任务: ( 随时可以使用reflog恢复或 rebase --abort如果事情如果所愿很残忍错误) 。

git checkout hwTesting                 # Checkout feature branch
git rebase `git svn find-rev r1241`    # rebase on top of not quite up-to-date master branch
0 0

似乎没有通过某种方式来执行这一步。 但是,你可以方便地找到相应的提交id为给定的svn修订号。 请尝试以下方法:

git svn find-rev rN

其中N 是所需的修订号。 在这之后,使用git checkout检出历史中的特定点。

原作者:
0 0

我要离开这,但也不能因为接受的答案提到了它。 使用单行脚本rebase选项,不过-


这就是我所做的了 这次我从r1130 ( 问题中提到) 升级到r1241:

git checkout `git svn find-rev r1241`  # Go to the svn version of interest
git checkout -b hwTesting_r1241        # Create a new brach matching it
git merge hwTesting_r1130              # Merge previously created changes

这主要是给我我想要的,但它每次更新都产生另一个分支。 好像应该有一些方法来告诉git只合并主不高于上提交一个初始 git svn find-rev r1241.

原作者:
...