76

EGit又来了。我犯了一个错误,试图在 EGit 中切换到不同的分支,但它以某种方式搞砸了,并且没有检查出任何分支。然后我对这个非分支进行了提交,然后当我意识到我没有跟踪正确的分支时,我运行了以下命令:

$ git checkout issue2
Warning: you are leaving 1 commit behind, not connected to any of your branches:

    bada553d My commit message

If you want to keep them by creating a new branch, this may be a good time to do so with:

    git branch new_branch_name ....

Branch issue2 set up to track remote branch issue2 from origin.
Switched to a new branch issue2. 

现在我已经搞砸了,我如何将该提交与我当前的分支相关联?我对创建一个全新的分支不感兴趣,我只想将该提交拉入我的分支,issue2.

4

3 回答 3

127

git cherry-pick bada553d如果它只是一个提交,你可以。

您还可以使用 reflog 引用您去过的任何地方:

git reflog

然后使用其中一个提交:

git checkout -b temp HEAD@{3}

从您当前提交的 3“次”前签出并创建一个分支临时。这是你以前的地方的面包屑。

于 2013-01-16T19:05:17.283 回答
0

您也可以在使用后将标签应用于您的提交,git reflog当您知道提交的哈希时:

 Git tag <tag's_name>  <commit's_hash>/HEAD@{<commit's_num>} 
于 2021-09-02T19:40:54.187 回答
0

如果您只想将该提交与当前分支相关联,您可以简单地执行此操作

  1. 运行此命令以使用该提交创建一个新分支

    git branch temp {commit's SHA}

  2. 然后只需将此提交与您当前的分支合并

    git merge temp

  3. 现在只需删除我们创建的临时新分支

    git branch -d temp

于 2022-02-08T20:40:21.663 回答