首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有可能让git svn dcommit导致一次svn提交?

有没有可能让git svn dcommit导致一次svn提交?
EN

Stack Overflow用户
提问于 2008-10-01 16:31:23
回答 3查看 15.8K关注 0票数 42

根据the manual的说法,git dcommit“将在SVN中为git中的每次提交创建一个修订版。”但是有没有办法避免多个Subversion版本呢?也就是说,在执行svn commit之前,让git合并所有更改

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-01 16:43:10

如果你在git中处理分支,你可以使用git-merge --squash,它在git中做这件事。然后,您可以将这个被压缩的提交推送到SVN。

当然,大量的小提交是好的,那么为什么要挤压它们呢?

票数 34
EN

Stack Overflow用户

发布于 2008-10-02 18:01:42

命令git rebase -i可以做到这一点,甚至更多。这个命令非常强大,所以和它交朋友是很好的。

语法是:git rebase -i <commit ID>。这将打开您的文本编辑器,其中包含用于修改直到(不包括)给定ID的所有提交的选项(和说明)。

例如,要修改前5个提交,您可以这样做:

git rebase -i HEAD~5

或者,如果您的SVN分支称为"svn/trunk",则此语法也很好用:

git rebase -i svn/trunk

然后会弹出一个文本编辑器窗口。要压缩所有内容,请将第一行之后的每一行的第一个单词从"pick“更改为" squash”(如果这听起来令人困惑-当您看到它时会更有意义)。然后保存并关闭编辑器。然后,您将有机会为被压缩的提交编辑提交消息。

git rebase -i中,你可以做的其他事情包括重新排序提交,以不同的方式压缩提交,以及删除提交。

我经常使用这个命令;它是Git的杀手级特性。

票数 27
EN

Stack Overflow用户

发布于 2008-12-13 21:00:12

Ryan Tomayko写了一些关于git rebase -i的文章,他说:

…这有点像git commit --在酸上修改,拿着电锯--完全疯了,相当危险,但却能暴露出全新的精神状态。在这里,您可以编辑、压缩、重新排序、梳理和注释现有的提交,这种方式比正常情况下更容易、更直观。

我倾向于经常在git中提交,但不一定要将每个提交都提交到svn,而挤压我所有的工作也没有什么意义。我现在正在尝试重新排序,并将几个组合在一起,形成更符合逻辑的提交单元。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/158514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档