检查了之前的提交并开始处理它但是丢失了分支名称

时间:2018-01-17 08:34:08

标签: git gitlab

我最初检查过并且正在进行分支并且在一些提交之后得到了很多错误让我们说分支“featureFix123。我现在尝试检查此分支的先前提交,所以我知道如果我会好的检查了此分支上的先前提交并开始处理它。

现在它显示为提交名称“332gdsh943”,而不是分支名称“featureFix123”,它是打开的。如果我提交从此提交所做的更改或将它们推送到远程,它仍然会在我之前执行的分支名称下完成,或者是否需要执行一些命令才能将分支头拉回到它? / p>

1 个答案:

答案 0 :(得分:1)

分支只不过是指向提交哈希的指针。因此,当您明确签出提交哈希时,您基本上已将HEAD更改为该提交哈希,而不指定任何分支名称。

您需要再次结帐到您的功能分支,并以某种方式将更改带到它上面。 Cherry-picking提交似乎是一个简单的解决方案,除非您在无网点状态下做了很多提交。

git log
# Copy the commit id of the commit that you have done on "checked out branch"
git checkout featureFix123
git cherry-pick <copied_commit_id>

为了将来参考,git checkout <commit_id>通常用于暂时返回到该代码状态以进行评估或在该状态下分叉新分支。如果要将当前分支重置为所述状态,则应使用git reset --hard <commit_id>