我是Git的新手,所以我犯了一个严重的错误。在得到一台新的笔记本电脑时,我不小心推了一个提交,删除了大部分文件,除了我在我们的repo中编辑的文件。
在Android Studio中,我试图通过点击git日志来修复这个问题,并尝试“将当前分支重置到这里”。
这给了我一个错误:
Error downloading object: java_pid2812.hprof (58df4cf):
Smudge error: Error downloading java_pid2812.hprof
(58df4cfb920117556d8a695631aef8a75834d2e71ec360a7fbbc5c79e4fe84e2):
batch response: This repository is over its data quota.
Account responsible for LFS bandwidth should purchase more
data packs to restore access.
我在我的帐户上购买了一个数据包,但这并没有解决这个问题。我如何将回购恢复到提交被推送之前?
- 谢谢-谢谢
1条答案
按热度按时间svgewumm1#
如果你有权限访问推送提交的远程仓库,你可以使用git revert命令来撤销提交所做的更改。这将创建一个新的提交来撤销上一个提交所做的更改,从而允许你将仓库恢复到推送有问题的提交之前的状态。
下面是一个例子,说明如何使用git revert命令来撤销提交所做的更改,哈希值为58df4cfb920117556d8a695631aef8a75834d2e71ec360a7fbbc5c79e4fe84e2:
这将创建一个新的提交来撤销上一个提交所做的更改,然后您可以将这个新的提交推送到远程仓库,以将仓库恢复到其先前的状态。
或者,如果您没有远程仓库的访问权限,您可以使用git reset命令来“撤销”本地仓库的提交,这会将本地仓库的状态重置为提交前的状态,但不会影响远程仓库。
下面是一个例子,说明如何使用git reset命令来撤销提交所引入的更改,哈希值为58df4cfb920117556d8a695631aef8a75834d2e71ec360a7fbbc5c79e4fe84e2:
这会将您的本地仓库重置为提交前的状态,但不会影响远程仓库。如果您想撤销远程仓库的提交,您需要使用git revert命令(如上所述)。
需要注意的是,使用git reset命令是危险的,因为它会永久丢弃在指定提交之后的所有提交。这意味着你将丢失在这些提交中所做的任何更改,并且这些更改无法恢复。因此,使用git revert命令来撤销更改通常会更安全,因为它允许你在撤销更改的同时不会永久丢弃任何提交。