Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 删除通过将名称更改为另一个提交而创建的提交_Git_Git Commit_Gitkraken - Fatal编程技术网

Git 删除通过将名称更改为另一个提交而创建的提交

Git 删除通过将名称更改为另一个提交而创建的提交,git,git-commit,gitkraken,Git,Git Commit,Gitkraken,当我试图更改刚创建的提交的名称时,我正在与GitKraken合作。我以为它只会更改名称,但它创建了另一个提交。我不知道我当时做了什么,但我有以下情况: 我想删除右边的两个提交:“Detector-Tf idf similarity”和“master:Auto上的WIP…”,这样我只有一个列,其他4个提交被堆叠在一起。Head是我希望出现在图表上的最后一次提交,“添加tf idf相似性” 是否可以从项目中完全删除这些提交 编辑: 如果我使用GitKraken的“反向提交”选项,这会解决问题还是只

当我试图更改刚创建的提交的名称时,我正在与GitKraken合作。我以为它只会更改名称,但它创建了另一个提交。我不知道我当时做了什么,但我有以下情况:

我想删除右边的两个提交:“Detector-Tf idf similarity”和“master:Auto上的WIP…”,这样我只有一个列,其他4个提交被堆叠在一起。Head是我希望出现在图表上的最后一次提交,“添加tf idf相似性”

是否可以从项目中完全删除这些提交

编辑:


如果我使用GitKraken的“反向提交”选项,这会解决问题还是只会使问题变得更糟?

通常,使用
git revert
撤消一个或多个提交是首选方法。这样做的主要原因是,一旦发布了一个分支,实际上删除一个较早的提交可能是破坏性的。相反,
git revert
命令在分支上创建一个新的提交,该分支在功能上撤消一些早期的提交。它可能被认为是一些早期犯罪的镜像


在Gitkraken中,您可以通过右键单击提交节点,然后选择
revert commit
来恢复提交。有关更多信息,请参阅。

您的问题是,在“旧”的基础上仍然有一个隐藏,即预重命名提交:主控上的行
在制品:在…之前自动隐藏。
。仔细阅读有关隐藏的内容。如果移除隐藏,旧的提交将消失。当然,在删除隐藏之前,您应该检查隐藏的更改是否仍然相关。Git将在某些点自动隐藏未限制的更改,就像在还原之前一样

由于git提交是通过SHA散列标识的,因此更改旧提交的消息必须创建新的提交,因为散列是使用提交消息(以及其他因素)计算的

在这种情况下,不需要恢复。正如@TimBiegeleisen所说,当然,您不应该以任何方式更改发布的提交,但是像您在这里所做的那样重命名本地提交是很好的,根本不需要担心


注意,仅仅因为提交从GitKrakens提交图中“消失”,并不意味着它将被完全删除;只能从您当前的任何分支机构的
HEAD
s访问它。提交将持续一段时间,如果重置或重定出错,这通常是一个非常有用的功能。

您愿意尝试使用命令行解决此问题吗?我真的不介意它删除提交,并反映在GitKraken graph@shadowtalker上