我和Git有一个奇怪的设置.基本上我有:
[client 1] <---> [remote repo] ----> [client 2]
Run Code Online (Sandbox Code Playgroud)
[客户端1]本质上是我正在使用的本地仓库,因为我无法在本地机器上编译/构建项目.
[客户端2]是用于构建的远程服务器.
在中间,我有另一个回购,[远程回购],基本上用于与我公司的cvs中央回购同步,并且还在我的[客户端1]和[客户端2]之间进行同步.
由于所有编译/构建都在[客户端2]上完成,因此我在[客户端1]上进行了许多简单的提交,只是为了修复编译或构建错误.
所以当我发现最后一次提交时出现错误时,已经太晚了,因为提交已经被推送到远程仓库并从中撤出.
我怎样才能将这些(很多)琐碎的提交压缩成一个?谢谢.
man*_*lds 27
首先,避免挤压和一般重写历史,除非你绝对必须.进行"微不足道的"提交并不是压制推送提交的理由.如果他们能留下来,就让他们留下来.并且在cvs中重写历史并不简单,所以既然这些提交已经进入了cvs repo,你应该忍受它.
对于git远程仓库,如果你想继续 - 我假设你知道要压缩你当地仓库的提交(git rebase -i很简单).壁球后,推-f- 推力.
Cha*_*esB 14
你可以用git rebase -i或者压缩提交git merge --squash,看看使用Git将我最后的X提交压缩在一起
但是,由于您已将它们发布到另一个存储库,因此您必须将其修复到其他存储库.相当麻烦,但是git push --force你需要的命令.
但是不建议:如果远程仓库已经与CVS同步,你也必须修复它......如果其他开发人员已经从它中撤出了同样的事情.