gpt4 book ai didi

git - 恢复对 git 的最后操作?

转载 作者:行者123 更新时间:2023-12-04 15:41:03 25 4
gpt4 key购买 nike

我是 git 的新手,我将一个文件推送到存储库,但它只是覆盖并删除了我们组存储库中的所有工作,我该如何撤消。在没有任何人注意的情况下尽可能快。

当我尝试 git revert 时,它给出了错误的对象。

一步一步我用过

clone <repsurl>

在 git bash 中比我将一些文件添加到本地目录并使用命令

git add <somfile>

git commit -m "somecomment"

最后

git push

我认为我的错误是没有使用

git add .

最后只有我的文件在代表中。

最佳答案

当你做 git push ,您不会覆盖文件,您只需添加文件的一个版本。该版本的图片是commitcommit hash 标识.

我强烈建议您阅读 https://git-scm.com/docs .它很短,会为您解答很多问题。

因此,要回答您的问题:我怎样才能撤消此操作? 问题应该是:我怎样才能取回以前的文件?一如既往,在git ,有很多方法可以实现某事。我不会发布 git教程在这里,但我会尝试为您提供一些基本命令,让您可以执行所需的操作。但是,如果您不完全理解它们,我坚持认为,您应该阅读文档。

我假设您的工作区域是干净的,也就是说,所有内容都已提交并推送到您的 Remote 。本地和远程存储库完全同步。

执行git log时,你可以看到你在你的分支(和父分支)上所做的所有提交。一些有用的变体:git push -10 --oneline .这显示了简短版本中的最后 10 次提交(每次提交一行)。对于每个提交,您将看到提交哈希(您的提交的标识符)。要检查该提交,您可以执行以下操作:

git checkout <commit_hash>

之后,您的文件版本就是与该提交相对应的版本。但是,请注意,您不再在分支机构上了。如果你想留在你的分支上,但将你的文件重置为给定提交的版本,你可以这样做:

git reset --hard <commit_hash>

有时,进行软重置很有用:

git reset --soft <commit_hash>

这会将您的最后一次提交重置为由 <commit_hash> 标识的提交,但不会更改文件的版本。相反,这些更改位于暂存区域。

还有一些有用的变体,例如:

git reset --soft HEAD~1

最后一条命令对您之前的提交进行软重置(HEAD 指向的之前的提交)。

关于git - 恢复对 git 的最后操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57768968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com