Ruby on rails 如何在调试Heroku应用程序时避免大量提交
当我试图用Heroku上的应用程序清理bug时,我通常会得到一堆与bug修复过程相关的Git提交,因为我需要提交更新才能推送到Heroku。在推送到项目的主要共享回购之前,有没有什么聪明的方法来清理这些提交?你可以做一个Ruby on rails 如何在调试Heroku应用程序时避免大量提交,ruby-on-rails,git,heroku,Ruby On Rails,Git,Heroku,当我试图用Heroku上的应用程序清理bug时,我通常会得到一堆与bug修复过程相关的Git提交,因为我需要提交更新才能推送到Heroku。在推送到项目的主要共享回购之前,有没有什么聪明的方法来清理这些提交?你可以做一个git-rebase-i并编辑/挤压/删除提交,然后推送到Heroku。在开始调试时创建一个新的分支(git-checkout-b debug或类似),然后在那里进行所有的提交,通过git-push-Heroku-debugation:master将它们推送到Heroku而不是您
git-rebase-i
并编辑/挤压/删除提交,然后推送到Heroku。在开始调试时创建一个新的分支(git-checkout-b debug
或类似),然后在那里进行所有的提交,通过git-push-Heroku-debugation:master将它们推送到Heroku而不是您的主机上
然后,在解决问题后,可以将调试更改压缩为一次提交,并将其合并回主控:
git checkout master
git merge debugging --squash
git branch -D debugging
有很多其他方法可以做到这一点,归根结底,你会发现哪种方法最符合逻辑。你真的不想清理这些提交。您要做的是将它们封装在合并提交中:
- 签出主机--
git签出主机
- 为您的主题创建一个分支--
git checkout-b my cool bug fix
- 在你的分公司工作
- 准备好后,再次执行git checkout master,然后执行非快进合并。这很重要:使用
选项强制非快进意味着将始终创建合并提交。在本例中,命令将是--no ff
gitmerge--no ff my cool bug fix
- 您现在有了一个主节点上的合并提交,它封装了所有分支提交,但保留了提交历史,这样Git的历史分析工具就不会中断
- 测试修复程序后,
git-push-heroku
git-rebase-i
与挤压问题的原因相同。为什么要投否决票?如果你愿意解释,我很乐意回答这个问题。