调试Heroku应用程序时如何避免大量提交

Mat*_*ham 14 git ruby-on-rails heroku

在尝试使用Heroku上的应用程序解决bug时,我通常最终得到一些与bug修复过程相关的Git提交,因为我需要提交更新才能推送到Heroku.在推送到项目的主要共享仓库之前,有没有聪明的方法来清理这些提交?

And*_*all 17

在开始调试(git checkout -b debugging或类似)时创建一个新分支,然后在那里进行所有提交,将它们推送到Heroku而不是主通过git push heroku debugging:master.

然后,当您解决了问题后,可以将调试更改压缩到单个提交中并将它们合并回master:

git checkout master
git merge debugging --squash
git branch -D debugging
Run Code Online (Sandbox Code Playgroud)

还有很多其他方法可以做到这一点,这一切都归结为你发现最合乎逻辑的方法.

  • @ MarnenLaibow-Koser我认为在大多数情况下这是正确的,但是这里提出这么多提交的唯一原因是因为它们*必须*才能测试它们是否正确 - 你通常不会在你不知道你是否已经解决了这个问题.如果不需要提交甚至测试,那么可能只有一个提交来解决问题. (4认同)
  • @ MarnenLaibow-Koser如果问题完全在远程服务器上提交,那么你如何测试一些东西 - 因此在本地不可测试 - 并且获取服务器更改的唯一方法是推送提交?这没有任何意义,任何数量的存储或部分提交都不会改变这一点.这就是我的观点:这是一个特例,应该这样对待. (3认同)