如何在git中删除第一个提交?

13 浏览
0 Comments

如何在git中删除第一个提交?

我想知道如何在git中删除第一个提交。

在提交任何内容之前,有哪个版本?这个版本有一个名称或标签吗?

0
0 Comments

如何在git中删除第一个提交?

有时候我们可能需要从git仓库中删除第一个提交。可能是因为第一个提交包含了一些不必要或敏感的信息,或者由于其他某些原因需要对代码历史进行修改。下面是一种解决方法:

首先,创建一个临时分支并切换到该分支:

git checkout --orphan TEMP_BRANCH

接下来,将所有文件添加到暂存区:

git add -A

然后,提交更改:

git commit -am "Initial commit"

删除旧的主分支:

git branch -D master

将临时分支重命名为主分支:

git branch -m master

最后,强制更新仓库:

git push -f origin master

这样就成功地删除了第一个提交。

需要注意的是,这种方法会改变仓库的历史记录,因此在执行此操作之前,请确保您了解其可能引发的潜在影响,并谨慎操作。

以上内容参考自这里

有些评论中提到了一些特定场景下的问题和解决方案,比如删除.gitignore文件等。但这些情况并不是本问题的解决方案。本问题的目的是删除第一个提交,而不是删除其他文件或更改.gitignore文件。因此,上述解决方法是最适用的。

0
0 Comments

如何在git中删除第一个提交?

问题的出现的原因:用户想要删除git中的第一个提交。

解决方法:有多种方法可以解决这个问题。一种方法是使用git的update-ref命令,通过删除HEAD引用来重置当前分支的所有提交。另一种方法是使用rebase命令将第一个提交与第二个提交合并。还有一种方法是创建一个孤立的分支,该分支与原分支具有相同的内容,但没有任何提交历史。用户也可以使用git的reset命令来恢复到之前的状态。这些方法中,最安全的方法是使用git的update-ref命令,它可以删除所有的提交历史,而不仅仅是第一个提交。但需要注意的是,这个方法可能会导致删除用户添加到第一个提交中的所有文件。用户还可以尝试使用rebase命令,并将第二个提交标记为"squash",然后使用--force选项强制推送到远程仓库。另外,也可以尝试使用git的reset命令来恢复到之前的状态。总之,根据用户的具体需求和情况,选择合适的方法来删除第一个提交。

0
0 Comments

如何在git中删除第一个提交?

第一个提交是特殊的(一个孤立的提交),因为没有办法引用先前的“状态”。

如果你想修复提交,你可以简单地使用git commit --amend命令:这将修改提交而不创建另一个提交。

如果你只是想重新开始,删除.git仓库,然后使用git init创建一个新的仓库。

这个回答是不正确的:确实有一种方法可以恢复到第一个提交之前的状态。请参见下面的tzi的回答。

--amend命令也无法正确更新作者信息,如果初始配置错误的话。这就是我需要的,所以我使用了被接受的答案,然后只是进行了一个新的提交。

我真的不明白有人根据什么基础得出了没有答案的结论,即使显然没有(我在这里加上这句话是因为这个答案非常久远)。

0