什么是两者之间的区别?
git push origin HEAD:clean_up
并且
git push origin clean_up
HEAD
实际上是什么意思?
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
分支
推送到远程,包括您之前所做的上一个提交。git push origin HEAD:clean_up
将当前本地分支(任意命名)推送到远程仓库上的 clean_up
分支,而 git push origin clean_up
则将本地名为 clean_up
的分支推送到远程仓库上同名的分支。 - joran