使用git-svn挑选个人提交

时间:2017-03-07 11:17:30

标签: git svn version-control git-svn

假设我已使用<div class="jumbotron d-flex align-items-center"> <div class="container"> content </div> </div> 克隆了现有的SVN存储库,并希望将我所做的更改推送到新的(&#34; forked&#34;)上游Git存储库。

与此同时,我希望能够“拉动”#34;来自上游SVN存储库的任何更改并将它们推送到上游Git(存储库可能会发散,但不太可能发生冲突)。

  1. 如何为每个SVN提交(使用git svn clone)创建补丁文件并将其应用于Git存储库?
  2. 是否可以合并一系列来自SVN的提交(无需逐个挑选它们),并在我的Git svn diff 的基础上在一步中重新生成结果分支

1 个答案:

答案 0 :(得分:2)

对于你的问题:

1.如果可以应用本地git仓库中不存在的所有提交,则可以使用git svn rebase。如果您想逐个应用这些提交,可以使用git svn fetch然后git cherry-pick commit

2.两个步骤可以满足您的要求:

git svn fetch
git rebase --onto master <start commit> <end commit>

它将在主分支上重新启动从开始提交(不包含它)到结束提交(包含它)的范围。