我最初在名为“feature
”的 git 分支上工作。然后,我提交了我的更改。
然后我注意到有一些新创建的文件不应该在我的提交中。所以我找到了最新提交哈希 1b33aa
(我使用git log
命令)。
在那之后,我做了:
git checkout 1b63aa
然后我做了更多更改(虽然我仍在功能分支上......我的错误),然后再次提交。
然后我运行 git branch
,它打印出来:
* (detached from 1b33aa)
feature
现在如何 merge 我刚刚对 feature
分支所做的更改?
最佳答案
你现在在一个独立的分支上。您似乎想用这个替换您的 feature
分支。一种安全的方法是将 feature
重命名为其他名称,然后将当前分支转换为名为 feature
的正确分支:
git branch -m feature feature-bak
git checkout -b feature
在你的第一步中,我想你想做一个 git reset
而不是 git checkout
:
git reset 1b63aa
另一方面,如果你不想替换feature
分支,而是将当前分支中的改动 merge 到feature
,你可以这样做:
git checkout -b temp
git checkout feature
git merge temp
关于git - git checkout <commit hash> 后 merge 分离分支上的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687881/