忽略 `git log` 中的 git-svn 文件
有没有办法忽略 git-svn 更新?我通常的工作流程:
- 在我的
dev
git 分支中执行操作, - 上检查我的 master
git svn rebase
- 从
dev< 的 master
cherry-pick
/code> git svn dcommit
- 再次签出 dev
git merge master
唯一的问题是,在我 git merge master
之后,我做 git log -n ###
,我也得到了所有 git-svn
更新。我可以将其限制为最新的 git 提交吗?
Is there a way to ignore git-svn updates? my usual workflow:
- doing stuff in my
dev
git branch - checking out my master
git svn rebase
on mastercherry-pick
fromdev
git svn dcommit
- checkout dev again
git merge master
the only problem with this is that after i git merge master
, i do git log -n ###
, and i get all the git-svn
updates as well. Can i limit it just the latest git
commits?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,如果没有 git-svn 提交,你就无法将 master 合并回 dev 分支。
问题是,当您执行 git svn dcommit 时,您实际上重写您从 dev 分支中精心挑选的提交。 git-svn 提交现在已经成为你历史的一部分,试图以某种方式摆脱它们是愚蠢的。如果我猜对了,您的开发分支充满了合并提交,其中您的 git-svn 提交与您的开发提交重新加入,因为它们已经分歧。这很混乱。
话虽如此,我也不确定您的工作流程是否最佳。也许你应该尝试这个:
dev
分支中工作git svn rebase
以获得最新的 svn 更改dev
中的 git rebase mastermaster
上的git merge dev
git svn master 上的 dcommit
git Branch -d dev
git checkout -b dev
获取下一个功能/修复。No, you can't merge master back into the dev-branch without getting the git-svn commits along for the ride.
The thing is that when you do a git svn dcommit, you actually rewrite the commits that you've cherry-picked from the dev branch. The git-svn commits are now part of your history, and it would be folly to try to get rid of them some how. If I'm guessing correctly, your dev branch is full of merge commits where your git-svn commits are re-joined with your dev-commits because they have diverged. This is messy.
That being said, I'm also unsure if your workflow is optimal. Maybe you should try this:
dev
branchgit svn rebase
on master for the lastest svn changesgit rebase master
indev
git merge dev
onmaster
git svn dcommit
on mastergit branch -d dev
git checkout -b dev
for the next feature/fix.