上下文: 在GitHub上启动项目,并且一直在尝试使用git命令。该项目的历史不整洁。如何将所有以前的提交合并为单个提交?
问题:如何删除所有历史记录,并将所有提交消息替换为“上传的最初版本的项目源代码”?
上下文: 在GitHub上启动项目,并且一直在尝试使用git命令。该项目的历史不整洁。如何将所有以前的提交合并为单个提交?
问题:如何删除所有历史记录,并将所有提交消息替换为“上传的最初版本的项目源代码”?
此选项可以让你保持你的所有配置文件的项目
git reset --soft <sha_of_initial_commit>
git commit -a --amend -m "initial commit"
删除.git
目录。
git init
git add .
git commit -m "Initial commit"
git push origin master
如果这是颠覆,答案将有包括在某个时候牺牲一头牛。 –
推动不起作用,如果回购刚刚初始化,怎么会有一个_origin_? – Andy
另外,假设你已经添加了'origin',它将需要被强制推送。 –
+1。另一个用于'git reset --soft'的添加到现有列表中:http://stackoverflow.com/questions/5203535/practical-uses-uses-of-git-reset-soft – VonC
@Andy我试过这个,我得到了一个长文件名列表与'创建模式...'似乎没有任何事情发生。我尝试在这些命令的末尾添加'git push',但仍然没有任何结果。我错过了什么吗?谢谢 –
你会得到这个长列表,因为它将所有文件添加回你的回购。 git push -f的输出是什么意思?你有没有检查github,看看你是否得到了你想要的结果? – Andy