在分离的头状态下创建的git提交会发生什么情况?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (67)

事情就是这样:

我有一个部门A,在A部门,我做了一系列的改变。我对代码不满意,所以我在分支A中检出了以前的提交,然后我又做了一些更改,并将它们提交到了分支A。现在,我在任何地方都找不到这个提交。我丢了密码吗?

提问于
用户回答回答于

旧的许可还在重新部署中。

git reflog

这将显示提交的列表,“丢失”提交应该在其中。你可以把它变成一个新的分支。例如,如果SHA-1是ba5a739,那么可以在旧提交时创建一个名为“new-支”的新分支:

git branch new-branch ba5a739

请注意,“丢失”提交将在数据库被剪除时删除。

用户回答回答于

正如已经指出的,在reflg中仍然可以使用提交。除了其他答案之外,这里还有一种方法来接管分离的头提交到当前的分支中。直接,而不创建和合并一个新分支:

  1. 查找在分离头状态下进行的提交的sha-1散列。 GIT重放
  2. 然后执行,将所有提交哈希从最老到最近排序如下: <hash1><hash2><hash3>... 例如,如果我只有一个,以“前7个字符”的简短散列格式给出: git-选择一个21d053

这将为当前分支创建一个新的提交(命令中提到的每个分离的头提交一个)。它还接收原始提交消息。

扫码关注云+社区