2

好吧,不知何故,我离开了我的主要分支。

这是我所做的git reflog

00b0dbf HEAD@{5}: commit: Beginning to update and create functions from static analysis files
654d826 HEAD@{6}: checkout: moving from master to remotes/origin/master
654d826 HEAD@{7}: commit: Deleting old files
fac781a HEAD@{8}: commit: updating gitignore, removing old files
b8b4ef6 HEAD@{9}: commit: updating gitignore
c1c24f7 HEAD@{10}: commit: removing old files
8d1d5cb HEAD@{11}: commit: Changed base.r to represent new file structure
7d3f2d0 HEAD@{12}: commit (initial): First commit

“不知何故”我离开了主人。

所以现在,当我尝试提交更改时,我得到:“当前不在分支上”。

我想做的是从提交 654d826 HEAD@{7} 重新加载,因为那真的是我最后一次更改任何重要的东西。

如何从提交 654d826 HEAD@{7} 回到“master”并变基

4

1 回答 1

3

您只需签出一个远程跟踪分支。这些不会跟踪您的提交,因此正如它所说,您将处于分离的头部状态。您想使用您所做的最后一次提交更新主分支:

git push . HEAD:master

然后返回 master 以便跟踪后续提交:

git checkout master

如果第一次推送不起作用,这意味着您在 master 上做了其他提交。在这种情况下,请在您所在的位置创建一个临时分支:

git branch temp

然后去你的主分支

git checkout master

然后合并你在分离状态时所做的事情:

git merge temp

您现在应该能够继续在 master 中提交和跟踪您的工作。

于 2012-08-01T03:08:49.703 回答