繁体   English   中英

使用TortoiseGit仅推送最后一次提交

[英]Push only last commit with TortoiseGit

我想只将TortoiseGit的最后一次提交推送到sourceforge存储库。 所有以前的都不应该推。 这里是有人说我可以创造一个新的分支,推动这一项。 但是新分支具有所有先前的提交,而不仅仅是最后一个。

我究竟做错了什么?

谢谢!

我认为这主要是对git如何运作的误解。 当你提交一个提交时,如果该提交有一个父提交,git将确保该父提交也在远程存储库中。 除了稀疏克隆(可能对保留带宽和/或磁盘使用有用,但对如何与远程存储库进行交互施加一些限制)之外,git旨在使对象数据库保持完整和一致。 如果您可以在没有父级存在的情况下推送提交,则会违反完整性/一致性。 所以,按照设计,你不能只是在没有git的情况下推送一个提交,以确保保留提交沿袭。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM