关于创建本地分支的git-svn问题

时间:2010-02-25 18:02:34

标签: git git-svn

有没有办法创建一个本地分支,或修改一个现有的本地分支,以便它不能被scomn repo dcommit?这是对场景的描述。

git checkout -b local.farBranch remotes/farBranch
git checkout -b patched.local.farBranch
git merge local.patches

<work on patched branch && test>
<do not commit onto patched.local.farBranch>

git checkout local.farBranch
git commit -am "some changes"

git rebase local.farBranch patched.local.farBranch

<another work test cycle>

git checkout local.farBranch
git commit -am "last changes"

git svn dcommit

现在,我永远不想dcommit patched.local.farBranch(跟踪遥控器/ farBranch),因为这会将我的本地补丁放入SVN存储库。这不是一个致命的问题,但是在keester中是一个痛苦,因为当SVN farBranch最终(SVN)合并到主干上时必须删除补丁。所以我正在寻找的是一种防止这种情况的方法

git checkout patched.local.farBranch
git svn dcommit                         <<== ERROR

git checkout local.farBranch
git svn dcommit                         <<== OK

2 个答案:

答案 0 :(得分:0)

我不这么认为。我最近在git-svn上寻找其他东西并通过简单地使用git-svn-id项查找最新的日志消息来获取该信息。 (这就是为什么git merge会导致问题)。

你可以克隆git-svn repo,这将导致你不能提供的git repo,但这也有一些很大的缺点。我不会真的推荐它,虽然它可能适合你。

如果是这样的话我也会喜欢它,如果有人问他/她,也许git-svn的维护者会在将来的版本中以某种方式包含它。

答案 1 :(得分:0)

我可以补充一点,git-svn不适合与不同的分支机构合作。我建议改用SmartGit。它总是建议根据本地分支名称进入分支。

相关问题