【发布时间】:2015-08-08 10:06:32
【问题描述】:
我有一个 Git 存储库,其中只有一个提交存在。我想将此提交移至暂存区。已知命令是git reset --soft。所以我输入了类似的内容:
$ git --version
git version 2.3.2 (Apple Git-55)
$ git log
commit 2d70c0de8824967378da348afa7be6eca9839dcc
Author: gtchoi <gtchoi@nhnent.com>
Date: Sat Aug 8 18:54:25 2015 +0900
the first commit.
$ git reset --soft HEAD~1
fatal: ambiguous argument 'HEAD~1': unknown revision or path not in the working tree.
$ git reset --soft HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
$ git reset --soft 2d70c0de8824967378da348afa7be6eca9839dcc
$ git log
commit 2d70c0de8824967378da348afa7be6eca9839dcc
Author: gtchoi <gtchoi@nhnent.com>
Date: Sat Aug 8 18:54:25 2015 +0900
the first commit.
参数HEAD~1 和HEAD^ 导致致命错误,我在输入git reset <SHA-1 of commit> 时没有结果,并且不会删除第一个提交。这有什么问题?这是错误吗?
【问题讨论】:
-
我尊重您作为 Git 外科医生的职业。这是我的 git 存储库:github.com/gtchoi/guestbook_2015。你可以试试这个
-
如果只有一个提交并且您想重置它。为什么不直接用内容创建一个新的 repo?只需删除
.git目录并再次执行git init -
根据我的理解,您所问的是不可能的,将 git repo 视为时间线,您正在尝试回到不存在的时间。只需创建新的时间线。
-
git reset HEAD~1会起作用,但更重要的是,您到底想完成什么?你想重写提交历史吗?