2013-02-07 41 views
0

我玩弄herokudjango。要主办heroku我的Django应用程序,我不得不改变很多文件(settings,urls,requirements.txt等)那么多次来回(这样才能得到正确的事情)。结果在repo中有很多提交。问题是我在github上有稳定版本的代码(在完成heroku特定修改之前),现在如果我推送到我的github所有那些提交我确实在heroku上获得应用程序。删除提交历史git的

所以,我想删除所有提交,并取回旧稳定version.Then我可以添加heroku具体修改和只是一个commit.The办法,我看到它,我可以做

1.pull从github再加heroku具体变化。然后提交,推送到github,推送到heroku

2.In gitk,我可以选择最后一个预提交的Heroku,右击并执行“重置主分支here'.Then使heroku相关的变化,提交,推到github,推到heroku

这是正确的方法吗?假设pre-heroku提交是ver6,而我目前的提交是ver10,我做了4个不必要的提交。我需要将它们擦干净,并进行下一个提交ver7。

有人能请指教吗?

回答

1
  1. 做一个git pull让最新版本脱机。
  2. git rebase --interactive您的分支已修改。除了第一个选择一个提交外,选择其他所有选项。 (将提交消息更改为合理)
  3. git樱桃选择一个提交任何发展分支,你将与你的稳定分支合并。
  4. 合并,推动
2

方法是非常相似,在Github上其已经提到here。虽然我会重写Heroku的答案。

为了删除提交历史

  • 创建一个新的分支,结帐吧git checkout --orphan branch_new
  • 添加的所有文件git add -A
  • 提交git commit -m "Deleting commit history"
  • 删除主分支git branch -D master
  • 重命名分支掌握git branch -m master
  • 强制将更新推送到存储库git push -f heroku master