0

我在玩heroku和。要django在上面托管我的 django 应用程序heroku,我必须来回更改很多文件(settings,urls,requirements.txt等)(以便把事情做好)。结果在 repo 中有很多提交。问题是我有代码的稳定版本(在完成 heroku 特定修改之前)github,现在如果我推送我github为让应用程序运行所做的所有提交,它看起来会很难看heroku

所以,我想删除所有这些提交,并回到旧的稳定版本。然后我可以添加heroku特定的修改并只做一个提交。我看到它的方式,我可以做到

1.pull fromgithub然后添加heroku特定的更改。然后提交,推送到github,推送到heroku

2.在里面gitk,我可以选择最后一个pre-heroku提交,右键单击并做'Reset master branch to here'。然后进行heroku相关更改,commit,push to github,push to heroku

正确的方法是什么?假设 pre-heroku 提交是 ver6,而我当前的提交是 ver10,我做了 4 次不必要的提交。我需要将它们擦干净,然后进行下一次提交 ver7。

有人可以建议吗?

4

2 回答 2

1
  1. 执行 git pull 以离线获取最新版本。
  2. git rebase --interactive修改你的分支。为除第一个之外的所有内容选择 squash 以仅进行一次提交。(将提交消息更改为合理的内容)
  3. git cherry-pick 在您将与稳定分支合并的任何开发分支上的一个提交。
  4. 合并并推送
于 2013-02-07T16:44:40.577 回答
1

方法与此处提到的 Github 中的方法非常相似。虽然我会为 Heroku 重写答案。

为了删除提交历史

  • 创建一个新分支并结帐到它git checkout --orphan branch_new
  • 添加所有文件git add -A
  • 犯罪git commit -m "Deleting commit history"
  • 删除主分支git branch -D master
  • 将分支重命名为 mastergit branch -m master
  • 强制将更新推送到存储库git push -f heroku master
于 2016-12-28T20:16:28.497 回答