2015-03-19 106 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^ 
相关问题