结账后承诺。 Git说:“你不是在分支机构工作。”

时间:2011-04-02 18:56:44

标签: git

我恢复了之前的提交并进行了一些更改。

现在我想提交我的更改,GIT说“你没有在分支上工作。当切换到另一个分支时,这个提交将被取消引用,并且可能会丢失。”

我不关心我在此之后做出的任何提交,我现在该怎么做?

Git extensions screenshot.

2 个答案:

答案 0 :(得分:2)

你是怎么回复的? git status 的结果是什么?

看起来您已重置为非本地分支上的提交。您可以使用;

为您的提交创建一个新分支
git checkout -b new_branch_name

您可能需要删除或强制推送旧分支,但只有在您确定不需要提交时才这样做。我发现使用 git log gitk 可以帮助您实现这一目标。

答案 1 :(得分:2)

听起来您使用git checkout创建了detached head来转回时钟。这意味着您当前的HEAD不再指向分支的头部。

如果您在提交后100%确定不需要任何内容​​,则可以使用git stash保存当前的工作git reset --hard <commit> (man page)以恢复提交,然后git stash apply应用您的新更改。