在git签出后合并分离分支上的更改<;提交哈希>;

在git签出后合并分离分支上的更改<;提交哈希>;,git,github,Git,Github,我最初致力于名为“feature”的git分支。然后,我提交了我的更改 然后我注意到有一些新创建的文件不应该在我的提交中。因此,我找到了最新提交散列1B33a(我使用git log命令) 在那之后,我做了: git checkout 1b63aa 然后我做了更多的更改(我认为我仍然在功能分支上…我的错误),并再次提交 然后我运行git branch,它会打印出: * (detached from 1b33aa) feature 我现在如何合并我刚才对功能所做的更改?您现在在一个分离的分支

我最初致力于名为“
feature
”的git分支。然后,我提交了我的更改

然后我注意到有一些新创建的文件不应该在我的提交中。因此,我找到了最新提交散列
1B33a
(我使用
git log
命令)

在那之后,我做了:

git checkout 1b63aa
然后我做了更多的更改(我认为我仍然在功能分支上…我的错误),并再次提交

然后我运行
git branch
,它会打印出:

* (detached from 1b33aa)
  feature

我现在如何合并我刚才对
功能所做的更改?

您现在在一个分离的分支上。似乎您想用此分支替换
功能
分支。一种安全的方法是将
功能
重命名为其他功能,然后将当前分支转换为名为
功能
的正确分支:

git branch -m feature feature-bak
git checkout -b feature
在您的第一步中,我认为您希望执行
git重置
,而不是
git签出

git reset 1b63aa
另一方面,如果不希望替换
功能
分支,而是将当前分支中的更改合并到
功能
,则可以执行以下操作:

git checkout -b temp
git checkout feature
git merge temp

“最新提交哈希”是什么意思?你是说
HEAD
指向的提交吗?你能
git cherry-pick
提交到你的特性分支中吗?是的,我指的是我刚才所做的更改made@Leem.fin那回答是针对我的吗?如果是这样的话,我很困惑签出
HEAD
将如何帮助您解决“一些新创建的文件不应该在我的提交中”的问题。你能把git log--oneline--graph--decoration HEAD特性的输出发布出来吗?
,这样我就可以确切地看到这里发生了什么事?是的,我也觉得这听起来很像。“我怎样才能把我刚才对feature branch所做的更改合并回去?”这个问题让我对这种解释产生了疑问。为了安全起见,我也为这一部分添加了一个答案;-)