我不知道这是否是这个问题的正确格式,或者是否有任何重复,但我想我只是意外地重置了我的整个git存储库。有没有一个命令可以扭转这种局面?
我对我添加的一个文件进行了git重置,以为它会把它从添加中删除。我提交并推送了它。现在我的整个git存储库都不见了,除了我刚刚推送的代码。
git reset RadixSort.java
git add *my homework*
git commit -m "BONUS_HW"
git push origin master -f
首先,复制整个存储库(cp -R /path/to/your/repo /path/to/backup/dir
(。
现在处理原始回购。假设你在master
分支上,做一个git reflog master
。你应该看到这样的
6ebc064 (HEAD -> master) master@{0}: reset: moving to 6ebc0647a4347d411ea99ded0f9eeb94a5f622bd
ea36a86 master@{1}: commit: Adds README
9065d84 master@{2}: commit: Renames README
1d334db master@{3}: commit: Removed duplicate READMEs
.
.
.
6ebc064
就是您现在所在的位置。ea36a86
是您的master
分支以前所在的位置。现在,您可以使用git reset --hard ea36a86
重置为该提交,它应该会将树恢复到重置之前的状态。一旦发生这种情况,请查看目录,看看是否一切正常。如果是这样的话,git push --force
分支就完成了。
首先,运行
$ git log.
这将显示您所做的所有提交。
- 找到您想要的提交
- 复制相应的SHA编号
- git reset—硬SHA编号
- 推送您的代码
示例:我想将我的回购重置为下面的提交。。。
commit 8b665c15673b00ffe833572e1f325452a93f8d15
Author: Alan <alan@remote.com>
Date: Wed Jun 10 11:46:11 2020 -0500
rename alias on commands.txt
步骤
$ git reset --hard 8b665c15673b00ffe833572e1f325452a93f8d15
$ git add *
$ git commit -m "revert to 8b665c15673b00ffe833572e1f325452a93f8d15"
$ git push -f origin YOUR WORKING BRANCH