为什么git说';已更新';并且不创建提交

为什么git说';已更新';并且不创建提交,git,Git,我试图还原本地分支中的上一次合并提交,并按照下面的命令进行操作 在这里,我创建了新分支apitest/OEES-3752-containerisation-api-testsoffapitest/OEES-3752-containerisation-api-tests首先,下面是新创建分支的日志 日志: 命令: Repo\app (apitest/OEES-3752-containerisation-api-tests) λ git revert -m 1 337c26b49f5a7782917

我试图还原本地分支中的上一次合并提交,并按照下面的命令进行操作

在这里,我创建了新分支
apitest/OEES-3752-containerisation-api-tests
off
apitest/OEES-3752-containerisation-api-tests
首先,下面是新创建分支的日志

日志:

命令:

Repo\app (apitest/OEES-3752-containerisation-api-tests)
λ git revert -m 1 337c26b49f5a7782917e42b20722363fc38a7ba4
Already up to date!
On branch apitest/OEES-3752-containerisation-api-tests
nothing to commit, working tree clean
进一步

c:\Repo\app (feature/OEES-3752-release-api-test -> origin)                                               
λ git show --name-only 337c26b49f5a7782917e42b20722363fc38a7ba4                                             
commit 337c26b49f5a7782917e42b20722363fc38a7ba4 (HEAD -> feature/OEES-3752-release-api-test, origin/feature/
OEES-3752-release-api-test, apitest/OEES-3752-containerisation-api-tests)                                   
Merge: 97613fea1 00b69975c                                                                                  
Author: xxxx                                                              
Date:   Fri Mar 19 11:34:31 2021 +1100                                                                      
                                                                                                            
    Merge branch 'develop/app' of https://github.servicexxxxxx/app into feature/OEES-3752-release-api-test                                                                                                     
也许这能解释更多。。

我在这里错过了什么?

没有什么可以挽回的 已经更新了

此消息表示恢复合并不会更改任何文件。由于无需执行任何操作,因此不会创建恢复提交,git将在不采取任何操作的情况下退出

示例/复制 考虑以下命令序列:

$ cd /somewhere/new
$ git init
(main) $ echo "something" > README.md
(main) $ git add README.md
(main) $ git commit -m 'adding the readme'
在此阶段,主分支上只有一个提交

(main) $ git checkout -b demo
(demo) $ echo "something else" > README.md
(demo) $ git commit -m 'updating the readme' README.md
(demo) $  echo "something" > README.md
(demo) $  git commit -m 'changed my mind, updating the readme again' README.md
现在让我们将其合并到main:

(demo) $ git checkout main
(main) $ git merge --no-ff demo
在此阶段,我们在main上的提交历史如下所示:

*   9173254 (HEAD -> main) Merge branch 'demo'
|\
| * ab5b344 (demo) updating the readme again
| * d85f18a updating the readme
|/
* 6d39376 adding the readme
存在合并提交,但不包含任何实质性更改:

(main) $ git show --name-only HEAD
commit 91732542644735d93e2a42e4ad28110669fa9b27 (HEAD -> main)
Merge: 6d39376 ab5b344
Author: Me <me@example.com>
Date:   Wed Mar 24 10:14:17 2021 +0100

    Merge branch 'demo'

因此,也不会创建恢复提交:

*   9173254 (HEAD -> main) Merge branch 'demo'
|\
| * ab5b344 (demo) updating the readme again
| * d85f18a updating the readme
|/
* 6d39376 adding the readme
在本例中,合并提交是故意编造的,不包含任何更改,但在正常情况下,由于各种原因,例如将更改从分支a拉到分支b,将分支b合并到主分支,然后将分支a合并到主分支

(main) $ git revert HEAD -m 1
Already up to date!
On branch main
nothing to commit, working tree clean
*   9173254 (HEAD -> main) Merge branch 'demo'
|\
| * ab5b344 (demo) updating the readme again
| * d85f18a updating the readme
|/
* 6d39376 adding the readme