只推送最后一次提交与TortoiseGit

我只想用TortoiseGit将最后一次提交推送到sourceforge资源库。 以前的所有内容不得推。 据说我可以创建一个新分支并推送这个分支。 但新的分支有所有以前的提交,而不仅仅是最后一个提交。

我究竟做错了什么?

谢谢!


我认为这主要是对git工作方式的误解。 当你推送一个提交时,如果该提交有一个父代,git将确保该父代也在远程资源库中。 除了稀疏的克隆(这可能对保留带宽和/或磁盘使用率有用,但对如何与远程存储库进行交互强加一些限制),git旨在保持对象数据库的完整性和一致性。 如果你可以推送一个提交,而父母不在版本库中,则完整性/一致性将被违反。 所以,通过设计,你不能只在没有git的情况下推送一个提交,确保提交谱系被保留。

也就是说,有两种特定的方式可以安排只推送一次提交:1)确保要推送的提交的父项已存在于远程数据库中(例如,使用rebase来压缩分支上的所有提交如果需要,可能会重新定位该分支 - 但这可能不是您工作流程的最佳选择),或者2)确保您要推送的提交没有父母 - 例如git checkout -b somebranch --orphan在最近版本的git中git checkout -b somebranch --orphan ,然后创建你的提交。

链接地址: http://www.djcxy.com/p/49807.html

上一篇: Push only last commit with TortoiseGit

下一篇: How can I push specific commit to a remote, without the previous commits?