2015-03-19 104 views
0

我克隆了一個項目存儲庫並做了一些提交。這個提交非常骯髒;我搞砸了製表符空間並且一路上犯下了一些垃圾。所以在提出拉取請求之前,我想讓事情變得整潔。我認爲最好的方法是在origin/master上創建一個新的分支,然後將舊分支的提交逐一應用到工作副本,並對新分支進行乾淨的提交。如何在git中重寫歷史記錄?

那麼如何將其他分支提交到工作副本? 這是做這件事的最好方法嗎?這樣的任務看起來很普遍,也許已經有一個確定的工作流程和工具用於這樣的事情?

+0

參見[清潔提交歷史(HTTP://計算器.com/questions/7947322/preferred-github-workflow-for-updating-a-pull-request-after-code-review/15055649#15055649) - 你正在尋找的命令是[rebase](http:// git-scm.com/book/en/v2/Git-Branching-Rebasing)。 – AD7six 2015-03-19 03:11:41

+0

我不想只提供我的提交(如在提供的答案中);我想在應用它來修復東西之前編輯每個提交 – Poma 2015-03-19 03:15:45

+0

這是相同的過程,並仍在使用rebase。 (在評論之前嘗試/閱讀它)。 – AD7six 2015-03-19 03:17:04

回答

0

比方說,工作樹是一樣的東西:

img

,並要應用g-horigin/master。首先,創建一個使用origin/master一個新的分支,而另一個用於提交高達只h

git checkout -b new-branch origin/master 
git checkout -b daughter-branch h 

現在,從g申請提交日起

git rebase --onto new-branch g^ 
相關問題