2015-08-28 130 views
1

我发现自己始终对我的初始提交到GIT HUB时发生了微小的更改。将迄今为止所有的git提交转换为单个提交并清除所有历史记录

从此的所有提交历史是无用的。

通常我只是不断提交和删除回购和重新制作回购等。

林隐约知道,我可以把一堆提交变成一个单一的提交,但是当我把它推到远程将所有的垃圾历史仍然在那里?

是否有办法将一堆提交转换为第一次提交,然后将这段历史切碎。

+3

有很多小的提交有什么问题?这就是git所擅长的。 – damian

+0

不用一直提交,直到你觉得你已经完成了,然后['git add --patch [FILE]'](https:// git-scm。 com/book/en/v2/Git-Tools-Interactive-Staging)并提交相关更改。这可能有助于许多提交都属于一起。它还可以让你专注于工作,而不是不断思考提交的东西。达米安也是对的;许多提交没有任何内在错误。 –

+0

没有一堆小提交的错误。这些提交只是我在项目初始上传过程中发生的一系列拼写错误和样式更改,并且与项目无关,而仅仅是它在git上的外观。这些变化只是让人们分心XD – Prospero

回答

3

忘记历史,到目前为止,你就可以开始一个新的孤儿分支:

git checkout --orphan new-start 
git commit -a 

在此之后,你可以poiny主使用

git checkout master 
git reset --hard new-start 

这个新分支被警告说,这种操作可能会丢失无法恢复的信息。

0

所有提交历史从这个没用

就像你为了实现某种功能或做错误修复使用分支声音给我,然后合并这个分支成大师和唐“不想看到主所有那些小的提交,而不是看到一个抛光承诺,告诉你

Implemented feature a 

要做到这一点,你一个合并之前既可以git rebase master您的分支nd调整历史到您的需求做一个git merge --squash成主人将压缩你的分支的所有提交到一个。

一旦你完成了这一步,把你的新主人推上你的一个新的提交到github并删除你的功能分支。

+0

我实际上只是在懒惰,在我最初上传过程中推送一堆提交来调整README.md页面的样式; ) – Prospero

相关问题