sourcetree - git :我想要一个 committed in head

sourcetree - git :I want a committed in head

我是 git 的新手。我已经做出了一些改变。我犯了一个错误,我没有在任何分支中犯错,它在头脑中。我想在一个分支中提交它。

如果我运行 git reflog 显示 我可以看到它在 head(7) 中,代码为 15a3e43

如果我运行这个,那么我在head的最后一个元素 git chechout HEAD^

如果我运行 git chechout -b branchA branchA 被创建,最后一个被移动到这个分支

我已经尽力了(7) git 结账 HEAD@{1} git chechout 15a3e43 没办法。我想将 head(7) 的提交移动到一个分支。

谢谢, 琼

如果你想添加一个特定的提交到另一个分支,你可以使用cherry-pick:

  1. 移动到另一个分支
  2. git cherry-pick <commit_hash>

将创建内容为 <commit_hash> 的新提交。

假设 15a3e43 是您最后一次提交的哈希,您可以将它(和之前的提交)合并到一个分支中:

git checkout branchname
git merge 15a3e43

假设您有以下提交图

A - B - C - D - E - F - G - H master

并且您希望提交 D-H 到另一个分支。你要做的是:

git branch newBranch
git reset --hard C

A - B - C master
         \
          \
           D - E - F - G - H newbranch

请记住,如果您已经推送了未提交的所有内容,这将是有害的。