作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在我本地的 git 仓库中,我有很多提交,其中包括“ secret ”连接字符串:-)
当我将它推送到 github 时,我不希望它出现在 github 上。
本质上,我想 push 我拥有的一切,但又想摆脱一大堆历史。
也许我会更好地为我的所有开发人员在一个分支中运行,然后在提交之前 merge 回 master ......那么 master 的历史记录将只是我想要的提交。
我试过运行 rebase:
git rebase –i HEAD~3
返回 3 个提交,然后我可以删除一个提交。
但是遇到了 auto cherry-pick 失败,而且它变得相当复杂。
任何想法都非常感谢......如果这太难了,历史和重新开始没什么大不了的:-)
最佳答案
您可以分支您当前的工作,倒回母版,然后挑选最新的提交返回母版:
git branch secret
git reset --hard HEAD~3
git cherry-pick secret
在图片中,
A--B--C--D--E (master)
git branch secret
之后:
A--B--C--D--E (master, secret)
在 git reset --hard HEAD~3
之后:
A--B (master) \ C--D--E (secret)
在 git cherry-pick secret
之后:
A--B--E' (master) \ C--D--E (secret)
最后,如果你 git checkout secret; git rebase master
,可以得到:
A--B--E' (master) \ C--D (secret)
关于Git - 只推送最近提交到 github,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2276686/
我是一名优秀的程序员,十分优秀!