gpt4 book ai didi

git - 我们可以在分支上创建一个空提交而不切换到它吗

转载 作者:行者123 更新时间:2023-12-03 08:40:37 24 4
gpt4 key购买 nike

简而言之,存储库既旧又巨大,比如 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

也就是说,您创建一个新的提交对象,该对象与原始分支具有相同的树对象,并将原始分支作为父级,然后将该分支指向新的提交。

关于git - 我们可以在分支上创建一个空提交而不切换到它吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62896600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com