我想离开一个分支(例如git switch HEAD -d),进行提交,然后将其推送到远程(例如github),而不在那里创建分支。
用例是有时我想问某人“这就是你的意思吗?” 并链接到提交,但我不希望 github 提示我创建 PR,或者让这个垃圾出现在您可以列出分支的任何地方。
如何在不创建分支的情况下推送 git 提交?
AFAIK 你必须创建一个对它的引用。幸运的是,出于实际目的,您可能可以足够接近:
git fetch origin <full-hash>请注意,您甚至可以执行上述步骤的唯一原因是垃圾收集不是即时的,并且会使孤立的提交保留一段时间。对于 GitHub 和许多其他工具来说,它甚至可能会永远存在而无需进一步干预。在这种情况下,分支的生命周期只需要几秒钟,这样你就可以推送“东西”。
旁注:如果您愿意,可以跳过步骤 1,仅直接推送到远程上的分支名称:
# push commit <hash> to remote branch
git push origin <hash>:some-temp-branch-name
# delete remote branch
git push -d origin some-temp-branch-name
Run Code Online (Sandbox Code Playgroud)