协调分离的 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 将自动跟随,因为它只是指向分支。

如何在 Git 中协调 Detached HEAD 与 Master/Oroirn

在展示如何协调分离的 HEAD 与 master/oroirn 之前,让我们弄清楚什么是 HEAD。
HEAD 是对我们当前所在分支的符号引用。
它包含一个指向另一个引用的指针。
它是存储库中的最后一个检出点。

日期:2020-06-02 22:16:42 来源:oir作者:oir