git - "git push origin HEAD:clean_up"和没有 HEAD 有什么区别?

标签 git version-control

有什么区别

git push origin HEAD:clean_up

git push origin clean_up

HEAD 到底是什么意思?

最佳答案

HEAD 指向当前分支的最后一次提交。因此,如果当前分支是 clean_up,那么我希望以下两个命令执行相同的操作:

git push origin HEAD:clean_up
git push origin clean_up

我可以想到一种情况,您可能希望在执行 git push 时使用 HEAD 以外的东西。假设您在分离的 HEAD 状态下检查了某个分支 branch 。您在其中进行了一些提交,现在您决定将其作为自己的新分支推送到存储库。但是,您希望从您所做的最后一次提交之前的一次提交中推出分支。在这种情况下,您将采取以下步骤:

git checkout <SHA-1 of `branch` you want>
# make a few commits
git push origin HEAD~1:new_branch

这会将 branch 推送到远程,直到并包括您之前所做的提交。

关于git - "git push origin HEAD:clean_up"和没有 HEAD 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803098/

相关文章:

git - "Auto packing the repository for optimum performance"是什么意思?

ruby - 没有注释的 Git diff

git - Xcode 5 - 未找到 Remote

version-control - 什么以及如何对 Github 上的文本编辑器(Sublime Text)设置进行版本控制,以便在任何机器上都可以随时使用这些设置进行编码?

version-control - ReSharper 和 Rational Team Concert (RTC) - 它们配合得很好吗?

git - 是否可以一起使用 GIT 和 TFS 源代码管理

git - 如何显示 'git log' 的第一次提交?

git - 为什么我不能推送到非裸仓库的已 checkout 分支?

version-control - github公共(public) repo 有多公开?

git - 警告 : you are leaving 1 commit behind, 未连接到您的任何分支