简而言之,该存储库既旧又庞大,例如7GB。例如,当前分支为branch01
,而远程称为origin
。任务是在上创建一个新的空提交branch02
。基本上,空提交是在执行git-push时触发CI(连续集成)过程。
但是,从一个分支切换到另一分支可能要花费几秒钟甚至几分钟,因为可能会有很多IO操作。是否有一种方法可以在上创建空提交branch02
而不切换到该提交,如下所示。
# to create the empty commit
# git command: hash-object, write-tree, commit-tree
# after the empty commit is created
git push origin branch02:branch02
只需回答原始问题,您可以使用一些低级命令来做到这一点:
cmt=$(git commit-tree -m "trigger Jenkins" -p branch02 branch02^{tree}) &&
git update-ref refs/heads/branch02 $cmt
也就是说,您将创建一个新的提交对象,该对象具有与原始分支相同的树对象和作为父对象的原始分支,然后将分支指向新的提交。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句