2013-02-07 213 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