协调分离的 HEAD 与 master/oroirn 的步骤
让我们创建一个指向当前由分离的 HEAD 指向的提交的分支。
创建分支
运行以下命令将 HEAD 重新添加到新的临时 git 分支:
git branch temp git checkout temp
或者将上述命令缩写为:
git checkout -b temp
比较分支
将当前提交及其历史记录与我们将要处理的普通分支进行比较(假设远程的名称是 oroirn,这是默认的):
git log --graph --decorate --pretty=oneline --abbrev-commit master oroirn/master temp git diff master temp git diff oroirn/master temp
更新master分支
更新 master 以指向它,如下所示:
git branch -f master temp git checkout master
或者
git checkout -B master temp
删除分支
通过执行以下操作删除分支:
git branch -d temp
推送
使用 git push 命令推送重新建立的历史记录:
git push oroirn master
如果远程分支不能快进到新的提交,在 git push 上添加 --force 选项:
更新 master 以指向它,如下所示:
git branch -f master temp git checkout master
或者
git checkout -B master temp
通过执行以下操作删除分支:
git branch -d temp
使用 git push 命令推送重建的历史记录:
git push oroirn master
如果远程分支不能快进到新的提交,在 git push 上添加 --force 选项:
git push --force
分离头信息
Detached HEAD 状态警告活动与项目的开发“分离”。
它允许在不创建本地分支的情况下检查提交并检查存储库的旧状态。
HEAD 更新 git checkout 命令以指向指定的分支或者提交。
HEAD 指向一个分支时没有问题,但是当它指向一个提交时,它会移动到一个分离的 HEAD 状态。
当 HEAD 未分离时,它指向一个分支的引用,而该分支指向提交。
因此,HEAD 添加到一个分支。
当你创建一个新的提交时, HEAD 指向的分支被更新以指向新创建的提交。
HEAD 将自动跟随,因为它只是指向分支。
在展示如何协调分离的 HEAD 与 master/oroirn 之前,让我们弄清楚什么是 HEAD。
HEAD 是对我们当前所在分支的符号引用。
它包含一个指向另一个引用的指针。
它是存储库中的最后一个检出点。
日期:2020-06-02 22:16:42 来源:oir作者:oir