如何找到我正在处理的Git文件

如何找到我正在处理的Git文件,git,Git,我创建了一个新分支 我认为创建一个新分支会转向它。我现在知道我应该用这个代码来代替git checkout-b 我处理了我的文件,并使它正常工作 我做了一个承诺,看到了这个消息 [分离头DECD89]回路工作次数 我仍然认为我是在我创建的分支上,在代码运行时提交是个好主意 然后我想我会合并它 所以我git checkout master 上面说 警告:您将留下1个提交,未连接到 您的任何分支机构: 我做了git合并,使项目数正常运行 但这项工作并不是在那个分支上进行的,显然它不会做出太多的改变。

我创建了一个新分支

我认为创建一个新分支会转向它。我现在知道我应该用这个代码来代替git checkout-b

我处理了我的文件,并使它正常工作

我做了一个承诺,看到了这个消息 [分离头DECD89]回路工作次数

我仍然认为我是在我创建的分支上,在代码运行时提交是个好主意

然后我想我会合并它

所以我
git checkout master

上面说

警告:您将留下1个提交,未连接到 您的任何分支机构:

我做了
git合并,使项目数正常运行

但这项工作并不是在那个分支上进行的,显然它不会做出太多的改变。事实上,它可能合并了旧的更改,我不是很确定

我怎样才能找到那个看起来是在分离头部模式下的原始代码位,或者我丢失了它?当我做出承诺时,我肯定有回头路,但我不知道承诺的编号

我尝试了
git log--all
,但在任何地方都看不到提交消息


很抱歉提出了这样一个糟糕的问题,我真的还不太了解Git的术语。

尝试使用
Git reflog
,查找您的提交并复制他的sha1。然后签出您要为其工作的分支,并cherry pick该提交:
git cherry pick the-sha1
:这将在该分支上应用您的提交,就像您刚刚提交一样。

注意,在这种情况下,OP的哈希ID就在问题中:
分离头decdc89
。如果您的屏幕上还没有reflog,那么使用reflog是找到它的一种方法,但是在这种情况下,它更容易@torek这就是我发布它的原因,我知道它很有用,但我不知道如何使用它。现在我可以切换到我的分支,然后键入
git cherry pick decdc89
,它将应用提交,对吗?@Eoin您可以使用
git show decdc89
验证这是您的提交,然后cherry pick它,是的!