我使用git和SVN,我有一个提交,我不想通过dcommit推送,但我需要进行本地开发。
我现在的方式是
git checkout git-svn -B master
git cherry-pick ????..work
git svn dcommit
git checkout -B work
git cherry-pick mypatch^0
在工作分支中,git-svn标记之后的提交具有包含mypatch
的提交,之后是我实际为更改集所做的工作。
我想知道的是,是否可以将????
指定为git-svn
分支上work
之后的第二次提交。这样我就不必查看日志并自行查找修订版。
答案 0 :(得分:1)
找到正确的顺序。我需要标记新的补丁分支,以便我可以象征性地引用它。
git checkout git-svn -B master
git rebase --onto git-svn current-work-base work
git svn dcommit
git checkout -B work
git cherry-pick mypatch^0
git tag -f current-work-base
标记current-work-base
必须指向git-svn
此解决方案可以在Windows批处理文件中运行,也不需要bash。 (只需将^
更改为^^
)
请注意,在重新定位工作分支时,current-work-base
标记需要再次更新。