git checkout <commit hash>之后合并分离分支上的更改

Lee*_*fin 4 git github

我原本是在名为" feature"的git分支上工作.然后,我提交了我的更改.

然后我注意到有一些新创建的文件不应该在我的提交中.所以我找到了最新的提交哈希 1b33aa(我使用git log命令).

在那之后,我做了:

git checkout 1b63aa
Run Code Online (Sandbox Code Playgroud)

然后我做了更多的更改(我虽然我还在功能分支......我的错误),并再次提交.

然后我跑git branch,打印出来:

* (detached from 1b33aa)
  feature
Run Code Online (Sandbox Code Playgroud)

我怎样才能将我刚才所做的更改合并到feature分支机构?

Sto*_*ica 7

你现在在一个独立的分支.看来你想feature用这个替换你的分支.一种安全的方法是将其重命名feature为其他内容,然后将当前分支转换为名为的正确分支feature:

git branch -m feature feature-bak
git checkout -b feature
Run Code Online (Sandbox Code Playgroud)

在你的第一步,我想你想做一个git reset而不是git checkout:

git reset 1b63aa
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您不想替换feature分支但是将当前分支中的更改合并到feature,则可以这样做:

git checkout -b temp
git checkout feature
git merge temp
Run Code Online (Sandbox Code Playgroud)